RFR (L): implement inlining support for JSR 292

Christian Thalinger christian.thalinger at oracle.com
Mon May 13 21:59:49 PDT 2013


http://cr.openjdk.java.net/~twisti/GRAAL-249/webrev/

This adds inlining support of method handle invokes.

However, the patch is missing a little piece that is required so that calls are actually inlined.  That little change needs some bigger changes in Graal itself so I cannot push it right now.  Thomas knows about this issue and I hope he (or someone else) will fix it soon.

Here are some JRuby and Nashorn numbers (with the little change, obviously):

$ bin/jruby.sh -J-showversion ../rubybench/time/bench_fib_recursive.rb 5 35
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b88)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b30, mixed mode)

  1.080000   0.000000   1.080000 (  0.996000)
  0.850000   0.000000   0.850000 (  0.826000)
  0.830000   0.000000   0.830000 (  0.827000)
  0.820000   0.010000   0.830000 (  0.823000)
  0.860000   0.000000   0.860000 (  0.830000)

$ bin/jruby.sh -J-showversion ../rubybench/time/bench_fib_recursive.rb 5 35
Bootstrapping Graal............................ in 20527 ms
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b88)
OpenJDK 64-Bit Graal VM (build 25.0-b29-internal, mixed mode)

 91.040000   0.280000  91.320000 ( 12.076000)
  0.830000   0.000000   0.830000 (  0.678000)
  0.900000   0.100000   1.000000 (  0.666000)
  0.660000   0.000000   0.660000 (  0.659000)
  0.660000   0.000000   0.660000 (  0.664000)

$ java -showversion -jar dist/nashorn.jar test/script/basic/run-octane.js -- test/script/external/octane/richards.js --iterations 10 --verbose
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b88)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b30, mixed mode)

command line: running richards.js...
Score: 498
Score: 1774
Score: 1968
Score: 2005
Score: 2111
Score: 2150
Score: 2125
Score: 2127
Score: 2115
Score: 2196
command line: Richards (version 8): 498-2196

$ java -showversion -jar dist/nashorn.jar test/script/basic/run-octane.js -- test/script/external/octane/richards.js --iterations 10 --verbose
Bootstrapping Graal............................ in 20774 ms
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b88)
OpenJDK 64-Bit Graal VM (build 25.0-b29-internal, mixed mode)

command line: running richards.js...
Score: 66.4
Score: 1471
Score: 1452
Score: 1668
Score: 1675
Score: 1677
Score: 1534
Score: 1705
Score: 1709
Score: 1703
command line: Richards (version 8): 66.4-1709



More information about the graal-dev mailing list