RFR(s): 8143291: Remove redundant coding around os::exception_name (original) (raw)
Thomas Stüfe thomas.stuefe at gmail.com
Mon Nov 30 06:56:23 UTC 2015
- Previous message: RFR(s): 8143291: Remove redundant coding around os::exception_name
- Next message: RFR(XS): JDK-8114853 variable tracking size limit exceeded in vmStructs.cpp
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Thank you Colleen!
On Sat, Nov 28, 2015 at 6:33 PM, Coleen Phillimore < coleen.phillimore at oracle.com> wrote:
I am on US Thanksgiving holiday but this looks great. I'm happy to see these cleanups. It'll make working on the code better. Can you remove the bogus //Reconciliation History
lines from jvmsolaris.cpp while you're here? Will do once I'm in office, unless David beats me to it.
Are JVMRaiseSignal and JVMRegisterSignal on xnix platforms mostly duplicate now? A further RFE?
Yes, I think so. A lot of cleanup is possible. I'll try to get some more cleanups throigh before feature close.
Kind Regards, Thomas
Thanks, Coleen
On 11/27/15 11:04 AM, Thomas Stüfe wrote: Ping...
Could I have a second review please? The current webrev is: http://cr.openjdk.java.net/~stuefe/webrevs/8143291/webrev.03/webrev/ And the bug report: https://bugs.openjdk.java.net/browse/JDK-8143291 Thank you! ..Thomas
On Thu, Nov 19, 2015 at 11:23 AM, Thomas Stüfe <thomas.stuefe at gmail.com> wrote: Hi, please take a look at this change. bug: https://bugs.openjdk.java.net/browse/JDK-8143291 webrev: http://cr.openjdk.java.net/~stuefe/webrevs/8143291/webrev.00/webrev/ This fix does some cleanups around os::exceptionname(). - os::exceptionname() is identical on all Posix platforms (it returns a signal name string for a signal number), so it can be merged into osposix.cpp - There is no need for a platform-specific implementation, as we have already os::Posix::getsignalname(). Use that instead of platform-specific solutions. - I added a function os::Posix::getsignalnumber() which is the inverse of os::Posix::getsignalname(). - Before, a signal-to-number table was kept in jvm.cpp. That was used to implement os::exceptionname() and also for JVMFindSignal -> on AIX, I removed the coding altogether and used os::Posix::getsignalnumber() as a base for JVMFindSignal. -> on the other Unices, I did not feel so confident, because strictly spoken we may change the behaviour slightly to before: os::Posix::getsignalname() knows more signal names than the platform specific tables knew before, so now Signal.findSignal("") would return more matches than before. I am not sure whether I am overcautious here - should I treat the other Unices the same way I treated AIX, i.e. implement Signal.findSignal("") -> JVMFindSignal via os::Posix::getsignalnumber()? This would further simplify the coding. Oh, this fix also fixes an issue where os::exceptionname() would return NULL for an unknown signal number, but no caller ever checks for NULL before printing the result. The new os::exceptionname() always returns a string and also distinguishes between "unknown but valid signal" and "invalid signal". Kind Regards, Thomas
- Previous message: RFR(s): 8143291: Remove redundant coding around os::exception_name
- Next message: RFR(XS): JDK-8114853 variable tracking size limit exceeded in vmStructs.cpp
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]