RFR: JDK-8136577: Make AbortVMOnException available in product builds (original) (raw)
Coleen Phillimore coleen.phillimore at oracle.com
Tue Oct 13 21:26:09 UTC 2015
- Previous message: RFR: JDK-8136577: Make AbortVMOnException available in product builds
- Next message: RFR(M): 8139040: Fix initializations before ShouldNotReachHere()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/13/15 5:06 PM, Poonam Bajaj Parhar wrote:
Hello Coleen,
On 10/12/2015 10:55 AM, Coleen Phillimore wrote:
Hi Poonam, I really like this except for this in exceptions.cpp. This function should be in exceptions.hpp (because it won't be inlined in cpp). I think there are some hot paths performance wise through the exception code so would be nice to inline this small function in the header file. -void Exceptions::debugcheckabort(Handle exception, const char* message) { +inline void Exceptions::debugcheckabort(Handle exception, const char* message) { if (AbortVMOnException != NULL) { + debugcheckaborthelper(exception, message); + } +} + Moving it to exceptions.hpp file causes build failure: /Building target 'images' in configuration 'solaris-sparcv9-normal-server-release'// //"<..>/hotspot/src/share/vm/utilities/exceptions.hpp", line 180: Error: The type "Handle" is incomplete.// //1 Error(s) detected./ So, looks like we can not make Exceptions::debugcheckabort() as inline function without disturbing the include structure.
Okay, this is fine. I was afraid it might introduce a circular dependency in the include files since exceptions.hpp is included early on.
Here's the updated version of the webrev, it removes the inline keyword from the function definition in cpp file. http://cr.openjdk.java.net/~poonam/8136577/webrev.02/
This looks fine. If we note any specific performance problem, we can make that specific call site check AbortVMOnException.
Thank you for making these changes. Coleen
Thanks, Poonam
Thanks, Coleen On 10/12/15 10:03 AM, Poonam Bajaj Parhar wrote: Hello Coleen,
Please take a look at the updated webrev: http://cr.openjdk.java.net/~poonam/8136577/webrev.01/ Thanks, Poonam On 10/9/2015 8:15 AM, Poonam Bajaj Parhar wrote: Hello Coleen,
On 10/8/2015 11:04 AM, Coleen Phillimore wrote:
I was wondering if you could make the function debugcheckabort an inline function in exceptions.hpp that checks AbortVMOnException != NULL and calls a helper to save this conditional in all the callers? static void debugcheckabort(Handle exception, const char* message = NULL) { if (AbortVMException != NULL) debugcheckaborthelper(exception, message); } } Sure, I will make this change and will send the updated webrev. Thanks, Poonam Thanks, Coleen On 10/6/15 9:57 AM, Poonam Bajaj Parhar wrote: Hello, Please review the code changes for the following change request: Bug: JDK-8136577: Make AbortVMOnException available in product builds Fix: These changes make the JVM options AbortVMOnException and AbortVMOnExceptionMessage available in product builds by changing them from 'debug' to 'diagnostic' options. Having these in product builds would be very useful to capture diagnostic data when an application fails with exceptions. This would be very useful in troubleshooting issues where only an exception is thrown. Webrev: http://cr.openjdk.java.net/~poonam/8136577/webrev.00/ Tests: Ran a simple testcase that throws exception and confirmed that it generates hserr and core file when the specified exception occurs. regards, Poonam
- Previous message: RFR: JDK-8136577: Make AbortVMOnException available in product builds
- Next message: RFR(M): 8139040: Fix initializations before ShouldNotReachHere()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]