HSX-25: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
Ron Durbin
ron.durbin at oracle.com
Wed Jun 19 13:40:18 UTC 2013
Dan
These changes look good.
Ron
> -----Original Message-----
> From: Daniel D. Daugherty
> Sent: Tuesday, June 18, 2013 2:30 PM
> To: hotspot-runtime-dev at openjdk.java.net; build-dev
> Subject: HSX-25: Code Review (round 0) request for MacOS X exported symbols fix (8014326)
>
> Greetings,
>
> I have picked up David Holmes' work on the following bug:
>
> 8014326 [OSX] All libjvm symbols are exported
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014326
> https://jbs.oracle.com/bugs/browse/JDK-8014326
>
> Here are the HSX-25 webrev URLs:
>
> OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx25/
> Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx25/
>
> Testing:
> - JPRT test job on MacOS X
> - (in process) Aurora Adhoc vm.quick batch for MacOS X in the following
> configs: {Server VM} x {fastdebug} x {-Xmixed}
>
> Gory details are below. As always, comments, questions and suggestions are welome.
>
> Dan
>
>
> Gory Details:
>
> The script and Makefile changes are easy to review via the webrev.
>
> However, every function name in the MacOS X mapfiles had to be modified to match the MacOS X symbol
> export syntax. I created "normalized"
> copies of the mapfiles in order to compare the semantic changes (and ignore the syntactic changes).
> These diffs are added to bug report, but JBS is not yet accessible outside Oracle and bugs.sun.com can
> be slow to update so I've included the diffs here.
>
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> mapfile-vers-debug: current BSD versus updated BSD
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> $ diff bsd-funcs-debug{.orig,}
> 195a196
> > JVM_SetNativeThreadName
> 219,236d219
> < # Old reflection routines
> < # These do not need to be present in the product build in JDK 1.4 < # but their code has not been
> removed yet because there will not < # be a substantial code savings until JVM_InvokeMethod and < #
> JVM_NewInstanceFromConstructor can also be removed; see < # reflectionCompat.hpp.
> < JVM_GetClassConstructor
> < JVM_GetClassConstructors
> < JVM_GetClassField
> < JVM_GetClassFields
> < JVM_GetClassMethod
> < JVM_GetClassMethods
> < JVM_GetField
> < JVM_GetPrimitiveField
> < JVM_NewInstance
> < JVM_SetField
> < JVM_SetPrimitiveField
> <
> 248,250d230
> < fork1
> < numa_warn
> < numa_error
> 252,254d231
> < # Needed because there is no JVM interface for this.
> < sysThreadAvailableStackWithSlack
> <
>
> Line 196: add missing JVM_SetNativeThreadName entry Delete the old reflection routines!
> Delete other functions not compiled into BSD/MacOS X.
>
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> mapfile-vers-product: current BSD versus updated BSD
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> $ diff bsd-funcs-product{.orig,}
> 195a196
> > JVM_SetNativeThreadName
> 219,236d219
> < # Old reflection routines
> < # These do not need to be present in the product build in JDK 1.4 < # but their code has not been
> removed yet because there will not < # be a substantial code savings until JVM_InvokeMethod and < #
> JVM_NewInstanceFromConstructor can also be removed; see < # reflectionCompat.hpp.
> < JVM_GetClassConstructor
> < JVM_GetClassConstructors
> < JVM_GetClassField
> < JVM_GetClassFields
> < JVM_GetClassMethod
> < JVM_GetClassMethods
> < JVM_GetField
> < JVM_GetPrimitiveField
> < JVM_NewInstance
> < JVM_SetField
> < JVM_SetPrimitiveField
> <
> 243,245d225
> < fork1
> < numa_warn
> < numa_error
> 247,249d226
> < # Needed because there is no JVM interface for this.
> < sysThreadAvailableStackWithSlack
> <
>
> Line 196: add missing JVM_SetNativeThreadName entry Delete the old reflection routines!
> Delete other functions not compiled into BSD/MacOS X.
>
>
> Since the MacOS X port was originally derived from the Linux port, it also makes sense to compare the
> updated BSD files versus the current Linux files. This is a useful sanity check.
>
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> mapfile-vers-debug: updated BSD versus current Linux
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> $ diff {bsd,linux}-funcs-debug
> 218c218
> < JVM_handle_bsd_signal
> ---
> > JVM_handle_linux_signal
> 230a231,233
> > fork1
> > numa_warn
> > numa_error
> 231a235,237
> > # Needed because there is no JVM interface for this.
> > sysThreadAvailableStackWithSlack
> >
>
> Line 218 is an obvious rename.
> Lines 231-233 are functions not compiled into BSD/MacOS X.
> Line 236 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix
> that with this bug since we want the MacOS X fix in HSX24 and in HSX25.
>
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> mapfile-vers-product: updated BSD versus current Linux
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> $ diff {bsd,linux}-funcs-product
> 218c218
> < JVM_handle_bsd_signal
> ---
> > JVM_handle_linux_signal
> 225a226,228
> > fork1
> > numa_warn
> > numa_error
> 226a230,232
> > # Needed because there is no JVM interface for this.
> > sysThreadAvailableStackWithSlack
> >
>
> Line 218 is an obvious rename.
> Lines 226-228 are functions not compiled into BSD/MacOS X.
> Line 231 is an error on Linux; sysThreadAvailableStackWithSlack is only on Solaris, but we won't fix
> that with this bug since we want the MacOS X fix in HSX24 and in HSX25.
>
More information about the build-dev
mailing list