hotspot inlining decision seems to be random

Ulf Zibis Ulf.Zibis at gmx.de
Fri Dec 11 16:27:43 PST 2009


Please refer to:
[1] 
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/j7_EUC_TW/log/C_d_b_reverse1-2_highSurrogate_PA.xml?rev=866&view=markup
[2] 
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/j7_EUC_TW/log/C_d_b_reverse1-2_highSurrogate_PA_2.xml?rev=866&view=markup

I have run [3] the same code [4] 2 times.
On 1st run, method highSurrogate() [5] was inlined in Decoder$decode() 
[6] as hot, but not on 2nd run.
Can someone explain this, because method highSurrogate() was executed 
26,314,402 times (1.4 * 10 * 25 * 65536) ?

In 2nd case [2] hotspot log says 'never executed' (line 125) to 
sun.nio.cs.ext.EUC_TW_C_d_b_reverse1$Decoder::decode
and 'executed < MinInliningThreshold times' (line 215) to 
java.lang.Character::highSurrogate.

-Ulf

[3] 
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/j7_EUC_TW/nbproject/configs/C_d_b_reverse1_2_PA.properties?rev=866&view=markup
[4] 
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/j7_EUC_TW/src/sun/nio/cs/ext/EUC_TWBenchmark.java?rev=866&view=markup
[5] 
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/j7_EUC_TW/src/java/lang/Character.java?rev=866&view=markup
[6] 
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/j7_EUC_TW/src/sun/nio/cs/ext/EUC_TW_C_d_b_reverse1.java?rev=866&view=markup




More information about the hotspot-compiler-dev mailing list