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

Tom Rodriguez tom.rodriguez at oracle.com
Tue Jan 25 13:51:57 PST 2011


Why did you remove fork1 from the mapfile? other than that it looks good.

tom

On Jan 25, 2011, at 12:14 PM, Coleen Phillimore wrote:

I need another review, please! Thanks, Coleen

On 1/24/2011 2:15 PM, Coleen Phillimore wrote: Summary: Add option for gcc 4 and above, define JNIEXPORT and JNIIMPORT

open webrev at http://cr.openjdk.java.net/~coleenp/65884132/ This is an update to the code review. I found symbols that we should have exported. I also found exported symbols that were old and unused and removed them. Embedded question for Igor. Tested with some SA tests and others. Coleen On 1/21/2011 3:39 PM, Coleen Phillimore wrote: On 1/21/2011 12:47 PM, Dmitry Samersoff wrote: Coleen,

1. Hotspot uses a mapfile to hide unused symbols - could we just change the mapfile? Thanks Dmitry for this question because it prompted me to do more searching and there were some definitions that should have JNIEXPORT on them in the VM (AsyncGetCallTrace would have been broken!). The option -fvisibility=hidden does more than hide the symbols as the mapfile does, it also allows the compiler to optimize the address calculations for internal functions it calls. I believe that is where we get our performance improvements. 2. JNICALL is empty in both parts of #ifdef. Thanks, I fixed that. Coleen -Dmitry

On 2011-01-21 19:57, Coleen Phillimore wrote: Summary: Add option for gcc 4 and above, define JNIEXPORT and JNIIMPORT to visibility=default, add for jiosnprintf 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/viewbug.do?bugid=6588413 Tested with jmap for any serviceability impact, and tested hserrfile decoding still works. Thanks, Coleen



More information about the hotspot-runtime-dev mailing list