Request for review (S) 6588413: Use -fvisibility=hidden for gcc compiles

Kelly O'Hair kelly.ohair at oracle.com
Fri Jan 21 10:06:54 PST 2011


Good stuff.

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?

-kto

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.
>
> Thanks,
> Coleen
>



More information about the hotspot-runtime-dev mailing list