RFR(M): 8244949: [PPC64] Reengineer assembler stop function

Doerr, Martin martin.doerr at sap.com
Wed May 20 17:11:46 UTC 2020


Hi,

I'd like to contribute an improved and more space saving version of the MacroAssembler::stop function for PPC64.
Main reason is that usage of it is planned for better error messages in HaltNodes (C2 compiler): https://bugs.openjdk.java.net/browse/JDK-8230552

Issue:
https://bugs.openjdk.java.net/browse/JDK-8244949
Webrev:
http://cr.openjdk.java.net/~mdoerr/8244949_ppc64_asm_stop/webrev.00/

Change includes cleanup:
- Removal of stop ids which have not proven to be beneficial and are not available on most other platforms, either.
- Removal of SIGTRAP based not-entrant patching (includes old PPC-only flag TrapBasedNotEntrantChecks which is not expected to be used in production). SIGILL version is already available and works fine, too. (It is supposed to get removed completely with: https://openjdk.java.net/jeps/8221828)

Tested by inserting stop/unimplemented/untested/should_not_reach_here in interpreter/C2/stub code.
Prints: stop type + stop message + registers + instructions (unfortunately not disassembled at the moment) + nice stack trace

Tested in our nightly tests to verify SIGILL based not-entrant patching. No issues found.

Please review.

Best regards,
Martin



More information about the hotspot-runtime-dev mailing list