An AOT compiled version of a JVMCI compiler (i.e. libjvmci) can cause fatal errors (i.e. put libjvmci into a non-recoverable state) by either failing an internal check or with an OS signal (e.g. SIGSEGV). In the former case, there is already support for libjvmci to create a companion hs_err_pid_jvmci.log (JDK-8269416) before calling VMError::report, the standard HotSpot fatal error routine. In the latter case, only the info in a standard hs-err is available. While this includes a native stack trace showing where in libjvmci the signal occurred, it does not include the extra useful info found in hs_err_pid_jvmci.log (e.g. decoding of registers and memory locations to libjvmci internal object types and values).
This issue exists to improve the above libjvmci error reporting in 2 ways:
* Have all libjvmci specific crash info go into the standard hs_err_pid.log file.
* Add steps in VMError::report allowing for libjvmci specific info to be added if a signal occurs in libjvmci.
This issue exists to improve the above libjvmci error reporting in 2 ways:
* Have all libjvmci specific crash info go into the standard hs_err_pid.log file.
* Add steps in VMError::report allowing for libjvmci specific info to be added if a signal occurs in libjvmci.