Request for review (S) 6588413: Use -fvisibility=hidden for gcc compiles
kelly.ohair at oracle.com
Fri Jan 21 10:06:54 PST 2011
Does this mean that GCC4 is now "required" to build hotspot? The
compiler option change looks like
all versions of gcc will be getting it. I've been assuming that
hotspot still needed to build with GCC3
for jdk6 and in general.
Also, There are copies of some of the vm files, like jni.h and jvm.h
maybe? in the jdk repository,
and I think these are the ones that will show up in the jdk install
image include directory.
Do they need to change too?
Seems like this may have some implications to jni libraries, either
binaries or in building them?
On Jan 21, 2011, at 8:57 AM, Coleen Phillimore wrote:
> Summary: Add option for gcc 4 and above, define JNIEXPORT and
> JNIIMPORT to visibility=default, add for jio_snprintf and others
> since -fvisibility=hidden overrides --version-script definitions.
> Performance increases measured by Volker and Tom;
> 5% (JBB2005) and 2% (JVM98) on Linux/IA64 and 1,5% (JBB2005) and
> 0,5% (JVM98) on Linux/PPC64
> on intel hardware:
> specjvm98 15 314.61 0.00 0.33
> 0.006 Yes
> javac 15 248.88 0.01 1.72
> 0.000 Yes
> jack 15 294.44 0.01 1.38
> 0.000 Yes
> open webrev at http://cr.openjdk.java.net/~coleenp/6588413/
> bug link at http://bugs.sun.com/view_bug.do?bug_id=6588413
> Tested with jmap for any serviceability impact, and tested
> hs_err_file decoding still works.
More information about the hotspot-runtime-dev