RFR(S): JDK-8181503 "Can't compile hotspot with c++11"

Gerard Ziemski gerard.ziemski at oracle.com
Wed Jan 31 15:35:20 UTC 2018


> On Jan 31, 2018, at 1:46 AM, Thomas Stüfe <thomas.stuefe at gmail.com> wrote:
> 
> 
> 
> On Wed, Jan 31, 2018 at 2:07 AM, David Holmes <david.holmes at oracle.com> wrote:
> Hi Gerard,
> 
> These seem okay.
> 
> I'm a little surprised that the LogConfiguration change doesn't cause complaints about passing true/false as int ??
> 
> And I second Coleen's query re the VMError codes - there seems to be no reason for their strange values. They were added by JDK-4965918.
> 
> 
> 
> They look Windows-ish, like someone wanted them to mimic SEH codes - like someone took them directly from the examples here: https://msdn.microsoft.com/en-us/library/het71c37.aspx.
> 
> They bothered us for some reason I do not really remember anymore, so in our port they long have had different values, with no adverse effects.

Based on the comments from vmError.hpp:

  static int         _id;               // Solaris/Linux signals: 0 - SIGRTMAX
                                        // Windows exceptions: 0xCxxxxxxx system errors
                                        //                     0x8xxxxxxx system warnings

There seems to be ranges of errors on Windows that are used by the OS, so I’m guessing we chose a range that seemed free: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681381(v=vs.85).aspx


> On Jan 30, 2018, at 4:53 PM, coleen.phillimore at oracle.com wrote:
> 
> 
> Why are these defined with these odd values anyway?  why not define as 0, 1 and 2?  Or do they map to some Windows error values?
> 
> thanks,
> Coleen

0,1,2 seem to be taken by the OS, on Windows see: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx, and Linux, BSD see: http://man7.org/linux/man-pages/man7/signal.7.html, so it seems we wanted unique error codes that could not be mistaken for system errors or signals.


cheers







More information about the hotspot-runtime-dev mailing list