EVALUATION
Method Random::nextDouble() is not inlined when compiled with b112 which prevents scalar replace Random object using Escape Analysis:
% /java/re/jdk/7/promoted/all/b112/binaries/linux-amd64/fastdebug/bin/java -XX:+PrintCompilation -XX:+PrintInlining jnt.scimark2.commandline
12479 8 jnt.scimark2.MonteCarlo::integrate (66 bytes)
@ 6 jnt.scimark2.Random::<init> inline (hot)
@ 1 java.lang.Object::<init> inline (hot)
@ 72 jnt.scimark2.Random::initialize inline (hot)
@ 14 java.lang.Math::abs executed < MinInliningThreshold times
Inlining intrinsic _min at bci:19 in jnt.scimark2.Random::initialize (125 bytes)
@ 18 jnt.scimark2.Random::nextDouble already compiled into a big method
@ 24 jnt.scimark2.Random::nextDouble already compiled into a big method
But the compiled size of nextDouble() did not change actually:
b111:
Compiled (c2) 6 nmethod jnt.scimark2.Random::nextDouble (124 bytes)
total in heap [0x00007fdc81118590,0x00007fdc81118df8] = 2152
relocation [0x00007fdc811186b8,0x00007fdc811186e0] = 40
main code [0x00007fdc811186e0,0x00007fdc81118ae0] = 1024
stub code [0x00007fdc81118ae0,0x00007fdc81118af4] = 20
constants [0x00007fdc81118af4,0x00007fdc81118af8] = 4
oops [0x00007fdc81118af8,0x00007fdc81118b08] = 16
scopes data [0x00007fdc81118b08,0x00007fdc81118bc0] = 184
scopes pcs [0x00007fdc81118bc0,0x00007fdc81118de0] = 544
dependencies [0x00007fdc81118de0,0x00007fdc81118de8] = 8
nul chk table [0x00007fdc81118de8,0x00007fdc81118df8] = 16
oops [0x00007fdc81118af8,0x00007fdc81118b08] = 16
b112:
Compiled (c2) 5858 6 s nmethod jnt.scimark2.Random::nextDouble (124 bytes)
total in heap [0x00007fe90f592650,0x00007fe90f592eb8] = 2152
relocation [0x00007fe90f592778,0x00007fe90f5927a0] = 40
main code [0x00007fe90f5927a0,0x00007fe90f592ba0] = 1024
stub code [0x00007fe90f592ba0,0x00007fe90f592bb8] = 24
oops [0x00007fe90f592bb8,0x00007fe90f592bc8] = 16
scopes data [0x00007fe90f592bc8,0x00007fe90f592c80] = 184
scopes pcs [0x00007fe90f592c80,0x00007fe90f592ea0] = 544
dependencies [0x00007fe90f592ea0,0x00007fe90f592ea8] = 8
nul chk table [0x00007fe90f592ea8,0x00007fe90f592eb8] = 16
|