JDK-6989368 : Regression in scimark2.MonteCarlo in jdk7_b112 on Linux
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs19
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2010-10-04
  • Updated: 2011-04-23
  • Resolved: 2011-04-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u25Fixed 7Fixed hs20Fixed
Related Reports
Relates :  
Relates :  
Description
Mark Christiaens wrote:
> I suspect that there may be a speed regression.  See the "Monte Carlo" 
> entry of the scimark benchmark:
> 
> On build 110: 
> 
> /usr/java/latest/bin/java -XX:+AggressiveOpts -XX:+UseFPUForSpilling -cp 
> scimark2lib.jar jnt/scimark2/commandline
> 
> SciMark 2.0a
> 
> Composite Score: 1141.003846727709
> FFT (1024): 710.19567440319
> SOR (100x100):   1275.7066629070716
> Monte Carlo : 620.660007029971
> Sparse matmult (N=1000, nz=5000): 1237.695921732067
> LU (100x100): 1860.760967566245
> 
> On build 112:
> 
> /usr/java/latest/bin/java -XX:+AggressiveOpts -cp scimark2lib.jar 
> jnt/scimark2/commandline
> 
> SciMark 2.0a
> 
> Composite Score: 1042.2369328772832
> FFT (1024): 713.0991697764947
> SOR (100x100):   1276.9747697972227
> Monte Carlo : 212.3698130107359
> Sparse matmult (N=1000, nz=5000): 1061.7415523163634
> LU (100x100): 1946.9993594855982
> 
> My CPU: Intel(R) Core(TM) i5 CPU 750  @ 2.67GHz
> My OS: Fedora 13, 64 bit
> 
> Kind regards,
> 
> Mark

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/3f9a70eb8b1f
09-10-2010

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3f9a70eb8b1f
05-10-2010

EVALUATION ciMethod::instructions_size() returns incorrect value after "6953144: Tiered compilation" changes. The method code was merged incorrectly with changes for "6978355: renaming for 6961697", code->code_end() is used instead of code->insts_end(): - return code->insts_end() - code->verified_entry_point(); + if (code != NULL && (comp_level == CompLevel_any || comp_level == code->comp_level())) { + return code->code_end() - code->verified_entry_point(); + } + return 0;
04-10-2010

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
04-10-2010