RFR(s): 8143291: Remove redundant coding around os::exception_name

Thomas Stüfe thomas.stuefe at gmail.com
Wed Dec 2 08:18:29 UTC 2015


Hi David,

On Wed, Dec 2, 2015 at 12:10 AM, David Holmes <david.holmes at oracle.com>
wrote:

> Hi Thomas,
>
> On 30/11/2015 6:11 PM, Thomas Stüfe wrote:
>
>> Hi Coleen, David,
>>
>> new webrev here:
>>
>> http://cr.openjdk.java.net/~stuefe/webrevs/8143291/webrev.04/webrev/
>>
>
> You somehow reverted the changes in os_windows.cpp to those from version 2
> which failed to build. So I've taken version 3 and then applied just the
> jvm_solaris.cpp change from version 4. I checked the diff between v3 and v4
> to ensure no other changes.
>
>
Thanks a lot and sorry for the trouble! I guess I am juggling too many
changes. Will be more careful next time.


> Also note in the changset comments when you commit it needs to be
> "Reviewed-by" with lowercase 'b', else jcheck rejects it.
>

Thanks for correcting.

I am working with mercurial queues and jcheck does not fully work with
those. I will see how I can improve this.

Kind Regards, Thomas


>
> Resubmitting the push now.
>
> Thanks,
> David
>
> The only change are the deleted bogus comments in jvm_solaris.cpp Coleen
>> did ask for.
>>
>> Kind Regards, Thaoms
>>
>> On Mon, Nov 30, 2015 at 5:27 AM, David Holmes <david.holmes at oracle.com
>> <mailto:david.holmes at oracle.com>> wrote:
>>
>>     On 29/11/2015 3:33 AM, Coleen Phillimore 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 jvm_solaris.cpp while you're here?
>>
>>
>>     I can do that before pushing unless Thomas gets to it first. Due to
>>     internal constraints I have to wait until after Monday to push
>>     anything at the moment.
>>
>>         Are JVM_RaiseSignal and JVM_RegisterSignal on xnix platforms
>> mostly
>>         duplicate now?  A further RFE?
>>
>>
>>     Yes a further RFE. A lot of the signal related code could be
>>     simplified and refactored I think.
>>
>>     Thanks,
>>     David
>>
>>
>>         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 <mailto: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::exception_name().
>>
>>                 - os::exception_name() is identical on all Posix
>>                 platforms (it returns a
>>                 signal name string for a signal number), so it can be
>>                 merged into
>>                 os_posix.cpp
>>
>>                 - There is no need for a platform-specific
>>                 implementation, as we have
>>                 already os::Posix::get_signal_name(). Use that instead of
>>                 platform-specific
>>                 solutions.
>>
>>                 - I added a function os::Posix::get_signal_number()
>>                 which is the inverse
>>                 of os::Posix::get_signal_name().
>>
>>                 - Before, a signal-to-number table was kept in
>>                 jvm_<os>.cpp. That was
>>                 used
>>                 to implement os::exception_name() and also for
>>                 JVM_FindSignal
>>                 -> on AIX, I removed the coding altogether and used
>>                 os::Posix::get_signal_number() as a base for
>> JVM_FindSignal.
>>                 -> on the other Unices, I did not feel so confident,
>>                 because strictly
>>                 spoken we may change the behaviour slightly to before:
>>                 os::Posix::get_signal_name() knows more signal names
>>                 than the platform
>>                 specific tables knew before, so now
>>                 Signal.findSignal("<name>") 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("<name>") -> JVM_FindSignal via
>>                 os::Posix::get_signal_number()? This would further
>>                 simplify the coding.
>>
>>                 Oh, this fix also fixes an issue where
>>                 os::exception_name() would return
>>                 NULL for an unknown signal number, but no caller ever
>>                 checks for NULL
>>                 before printing the result. The new os::exception_name()
>>                 always
>>                 returns a
>>                 string and also distinguishes between "unknown but valid
>>                 signal" and
>>                 "invalid signal".
>>
>>                 Kind Regards, Thomas
>>
>>
>>
>>
>>
>>


More information about the hotspot-runtime-dev mailing list