[14] RFR(S): 8225653: Provide more information when hitting SIGILL from HaltNode
Christian Hagedorn
christian.hagedorn at oracle.com
Wed Sep 4 07:43:23 UTC 2019
Hi
Please review the following patch:
https://bugs.openjdk.java.net/browse/JDK-8225653
http://cr.openjdk.java.net/~chagedorn/8225653/webrev.00/
This enhancement provides more information about executing a HaltNode on
x86. Up to now, an illegal instruction was emitted for a HaltNode which
resulted in a crash with SIGILL at runtime if executed. This made it
hard to determine if the crash was actually caused by a HaltNode or not
without doing a closer analysis.
This patch adds a string to each HaltNode stating the purpose of it.
Code generation for a HaltNode adds a runtime call which executes
fatal() with the newly provided HaltNode string. The VM then crashes
with this additional information which should make a further analysis
easier. I filed an RFE [1] to also provide this information for
architectures other than x86.
The assert at [2] is not necessary anymore since there is a new
DEFINE_CLASS_ID entry for HaltNode with ID 15. ClassMask_Halt now equals
USHORT_MAX, making the assert always true. It might be a good idea to
file an RFE to change the current encoding as the next entry with ID 16
will exceed the 16 bit limit.
Thank you!
Best regards,
Christian
[1] https://bugs.openjdk.java.net/browse/JDK-8230552
[2]
http://hg.openjdk.java.net/jdk/jdk/file/d8f22418ca99/src/hotspot/share/opto/node.hpp#l750
More information about the hotspot-compiler-dev
mailing list