Dan These changes look good.
Ron > -----Original Message----- > From: Daniel D. Daugherty > Sent: Tuesday, June 18, 2013 2:50 PM > To: hotspot-runtime-...@openjdk.java.net; build-dev > Subject: HSX-24: 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-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.