Hi Mikael,
Thank you so much for making these changes!. Looks generally good.
ergo_i586.c: why ? MacOSX ?
cmdtoargs.c: URK!. :-[
Thanks
Kumar
On 3/20/2015 11:02 AM, Mikael Vidstedt wrote:
Please review the following change which fixes a number of native
compilation warnings in files related to libjli.
Bug: https://bugs.openjdk.java.net/browse/JDK-8074840
Webrev:
http://cr.openjdk.java.net/~mikael/webrevs/8074840/webrev.01/webrev/
I built the code across all the OracleJDK platforms and there were no
warnings on any of the platforms (in the files related to this
change). I'm taking suggestions on specific tests to run.
Some specifics:
Unfortunately there is no intrinsic for cpuid in Solaris Studio, so I
had to keep the inline asm code and the corresponding flag to disable
the related warning (E_ASM_DISABLES_OPTIMIZATION). The alternative
would be to move it out into a dedicated assembly file, but that seems
like more trouble than it's worth given that the warning is harmless.
I'm not entirely happy with the unsigned cast in parse_manifest.c:196,
but unfortunately the windows prototype for read() takes an unsigned
as its last argument, where All(tm) other platforms take a size_t. In
this specific case 'len' will never be be more than END_MAXLEN =
0xFFFF + ENDHDR = 0xFFFF + 22 = 0x10015, meaning it will comfortably
fit in an unsigned on the platforms we support. But if somebody has
suggestions I'm all ears, doing the #ifdef dance is of course also an
option.
Note that the warnings were temporarily disabled as part of
JDK-8074096 [1] until such time they could be fixed the proper way.
Also note that this change supersedes the earlier change [2] Dmitry
had out for review. The bug [3] corresponding to that webrev will be
closed as a duplicate of this bug (JDK-8074839).
Cheers,
Mikael
[1] https://bugs.openjdk.java.net/browse/JDK-8074096
[2] http://cr.openjdk.java.net/~dsamersoff/JDK-8073175/webrev.01/
[3] https://bugs.openjdk.java.net/browse/JDK-8073175