RFR(S): 8185572: Enable AssumeMP by default on SPARC machines
poonam.bajaj at oracle.com
Thu Aug 10 13:26:21 UTC 2017
Please review this simple patch:
Bug: HYPERLINK "https://bugs.openjdk.java.net/browse/JDK-8185572" JDK-8185572: Enable AssumeMP by default on SPARC machines
This change enables AssumeMP by default on SPARC machines. On Sparc T7, to finalize BIS instructions the server compiler needs to add a 'membar' instruction at the end. But the generation of 'membar' is guarded by os::is_MP(), and os::is_MP() returns false when there is a single cpu available on the system. Now, in virtualized/container environments, the number of processors allocated to a virtual machine can dynamically change during the application runtime. That could lead to incorrect generation of BIS instructions and can cause JVM crashes. Enabling AssumeMP makes is_MP() always return true on SPARC systems.
In future, we may consider making generation of 'membar ' unconditional with the enhancement request: HYPERLINK "https://bugs.openjdk.java.net/browse/JDK-8150715" \o "Use new BIS algorithm for arraycopy on M7 SPARC" JDK-8150715.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev