JDK-8031203 : remove SafepointPollOffset
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P5
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2014-01-06
  • Updated: 2017-05-17
  • Resolved: 2014-03-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
9 b08Fixed
Related Reports
Relates :  
Sub Tasks
JDK-8177131 :  
SafepointPollOffset is only used in C1 because of JDK-4986249 which was never reproducible with C2.

This seems to be an architecture anomaly and confined to certain chip versions. An old comment of JDK-4986249 mentions "some P4's". Running on any newer chips doesn't show that behavior.  I suggest to remove that option.
$ ack SafepointPollOffset src/ src/closed/cpu/arm/vm/c1_globals_arm.hpp 53:define_pd_global(intx, SafepointPollOffset, 0); src/closed/cpu/ppc/vm/c1_globals_ppc.hpp 60:define_pd_global(intx, SafepointPollOffset, 0); src/cpu/sparc/vm/c1_globals_sparc.hpp 69:define_pd_global(intx, SafepointPollOffset, 0 ); src/cpu/x86/vm/c1_globals_x86.hpp 68:define_pd_global(intx, SafepointPollOffset, 256 ); src/cpu/x86/vm/c1_LIRAssembler_x86.cpp 606: AddressLiteral polling_page(os::get_polling_page() + (SafepointPollOffset % os::vm_page_size()), 621: AddressLiteral polling_page(os::get_polling_page() + (SafepointPollOffset % os::vm_page_size()), src/share/vm/c1/c1_globals.hpp 311: product_pd(intx, SafepointPollOffset, \