HSX-24: Code Review (round 0) request for MacOS X exported symbols fix (8014326)

Coleen Phillimore coleen.phillimore at oracle.com
Wed Jun 19 12:58:25 PDT 2013


Dan,
This looks good!
Coleen

On 6/18/2013 4:50 PM, Daniel D. Daugherty wrote:
> 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-24 backport webrev URLs:
>
> OpenJDK: http://cr.openjdk.java.net/~dcubed/8014326-webrev/0-hsx24/
> Internal: http://javaweb.us.oracle.com/~ddaugher/8014326-webrev/0-hsx24/
>
> 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,}
> 191a192
> > JVM_SetNativeThreadName
> 215,232d215
> < # 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
> <
> 239,241d221
> < fork1
> < numa_warn
> < numa_error
> 243,245d222
> < # Needed because there is no JVM interface for this.
> < sysThreadAvailableStackWithSlack
> <
>
> Line 192: 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 bsd-funcs-product
> 191a192
> > JVM_SetNativeThreadName
> 215,232d215
> < # 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
> <
> 239,241d221
> < fork1
> < numa_warn
> < numa_error
> 243,245d222
> < # Needed because there is no JVM interface for this.
> < sysThreadAvailableStackWithSlack
> <
>
> Line 192: 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
> 214c214
> < JVM_handle_bsd_signal
> ---
> > JVM_handle_linux_signal
> 226a227,229
> > fork1
> > numa_warn
> > numa_error
> 227a231,233
> > # Needed because there is no JVM interface for this.
> > sysThreadAvailableStackWithSlack
> >
>
> Line 214 is an obvious rename.
> Lines 227-229 are functions not compiled into BSD/MacOS X.
> Line 232 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
> 214c214
> < JVM_handle_bsd_signal
> ---
> > JVM_handle_linux_signal
> 221a222,224
> > fork1
> > numa_warn
> > numa_error
> 222a226,228
> > # Needed because there is no JVM interface for this.
> > sysThreadAvailableStackWithSlack
> >
>
> Line 214 is an obvious rename.
> Lines 222-224 are functions not compiled into BSD/MacOS X.
> Line 227 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.
>
>
> Lastly, since this is a backport from HSX-25 -> HSX-24, we should
> look at what's different between those two version:
>
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> mapfile-vers-debug: updated HSX-24 BSD versus HSX-25 BSD
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> $ diff 8014326_exp_for_hsx2{4,5}/bsd-funcs-debug
> 98a99
> >                 JVM_GetClassTypeAnnotations
> 104a106
> >                 JVM_GetFieldTypeAnnotations
> 124a127,128
> >                 JVM_GetMethodParameters
> >                 JVM_GetMethodTypeAnnotations
> 156a161
> >                 JVM_IsVMGeneratedMethodIx
> 174d178
> <                 JVM_PrintStackTrace
>
> Several new functions were added in HSX-25 and one function
> was deleted in HSX25.
>
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> mapfile-vers-product: updated HSX-24 BSD versus HSX-25 BSD
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> $ diff 8014326_exp_for_hsx2{4,5}/bsd-funcs-product
> 98a99
> >                 JVM_GetClassTypeAnnotations
> 104a106
> >                 JVM_GetFieldTypeAnnotations
> 124a127,128
> >                 JVM_GetMethodParameters
> >                 JVM_GetMethodTypeAnnotations
> 156a161
> >                 JVM_IsVMGeneratedMethodIx
> 174d178
> <                 JVM_PrintStackTrace
>
> Several new functions were added in HSX-25 and one function
> was deleted in HSX25.



More information about the hotspot-runtime-dev mailing list