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