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