RFR(L): Remove global safepoint code

Doerr, Martin martin.doerr at sap.com
Thu Mar 19 13:41:45 UTC 2020


Hi Robbin,

thanks for removing the dead code and for taking care of all platforms.

PPC64 and s390 code looks good and seems to work fine on linux.

Only AIX doesn't build. I suggest to fix it like this:

diff -r efebab2fd109 src/hotspot/os/aix/safepointMechanism_aix.cpp
--- a/src/hotspot/os/aix/safepointMechanism_aix.cpp     Thu Mar 19 13:30:39 2020 +0100
+++ b/src/hotspot/os/aix/safepointMechanism_aix.cpp     Thu Mar 19 14:33:09 2020 +0100
@@ -101,7 +101,9 @@
   MemTracker::record_virtual_memory_reserve_and_commit(map_address, map_size, CALLER_PC, mtSafepoint);

   // Use same page for thread local handshakes without SIGTRAP
-  os::protect_memory(_polling_page, page_size, os::MEM_PROT_NONE);
+  if (!os::guard_memory((char*)_polling_page, page_size)) {
+    fatal("Could not protect polling page");
+  }
   intptr_t bad_page_val  = reinterpret_cast<intptr_t>(map_address),
            good_page_val = bad_page_val + os::vm_page_size();
   _poll_armed_value    = reinterpret_cast<void*>(bad_page_val  + poll_bit());


Thanks and best regards,
Martin



> -----Original Message-----
> From: hotspot-dev <hotspot-dev-bounces at openjdk.java.net> On Behalf Of
> Robbin Ehn
> Sent: Donnerstag, 19. März 2020 13:44
> To: hotspot-dev at openjdk.java.net
> Subject: RFR(L): Remove global safepoint code
> 
> Hi all, please build, test and review.
> 
> We removed (obsoleted) the flag ThreadLocalHandshakes in JDK 14.
> Any platform defining THREAD_LOCAL_POLL can only use per thread poll.
> Since all platforms now define THREAD_LOCAL_POLL the global poll code is
> dead.
> Let's remove it!
> 
> Issue: https://bugs.openjdk.java.net/browse/JDK-8220051
> Changeset:
> http://cr.openjdk.java.net/~rehn/8220051/v1/webrev/index.html
> 
> I have built fastdebug:
> linux-aarch64
> linux-arm32
> linux-ppc64le
> linux-s390x
> linux-x86_64-zero
> linux-x86_64 (no PCH)
> linux-x86_64 (slowdebug) (no PCH)
> linux-x86
> osx-x86_64
> windows-x86_64
> solaris-sparcv9
> 
> Tested t1-5:
> linux-x86_64
> osx-x86_64
> windows-x86_64
> solaris-sparcv9
> 
> Manually:
> linux-aarch64
> linux-x86_64-zero
> 
> Any extra help building and testing is appreciated, especially on arm32,
> ppc64le, s390x.
> 
> Thanks, Robbin


More information about the hotspot-dev mailing list