C2 compiler gets SIGILL/ILL_ILLOPC

John Neffenger john at status6.com
Fri May 4 15:34:52 UTC 2018


On 05/03/2018 01:21 PM, Simon Nash wrote:
> Is this MP-only assumption only for the server VM or also for the 32-bit 
> client VM?
> The latter would prevent my application from being able to run on Java 12.

That was my initial worry, but as I now understand it, the proposal is 
to remove the multiprocessor checks so that multiprocessor systems run a 
bit faster at the expense of single-processor systems running a bit 
slower. The HotSpot Server VM will still actually run on machines with a 
single processor.

The fact that containers can switch dynamically from single to multiple 
processors seemed to force the issue.

See the discussion that starts here:

RFC: 8185062: os::is_MP() sometimes returns false
http://mail.openjdk.java.net/pipermail/hotspot-dev/2017-August/027720.html

The fatal error I encountered, with a workaround of "-XX:-AssumeMP", is 
just a bug in how the Java VM detects the presence of a particular 
feature on my ARM Cortex-A8 processor. The ARM documentation says that, 
"PLDW is available only in ARMv7 and above that implement the 
Multiprocessing Extensions," and it seems the code is incorrectly using 
"os::is_MP()" to detect such extensions.

John


More information about the aarch32-port-dev mailing list