Surinx + backport

Rémi Forax forax at univ-mlv.fr
Fri Sep 11 01:34:50 PDT 2009


Hi all,
I've done some benchs with Surinx + backport

First, Charles, there is a bug in compiler.rb that prevent me to use Surinx.

This bug was already present in Duby but I don't remember if I report it 
or not.
The compiler generate a LDC + forName with a name containing slash ('/')
instead of dot ('.')

--- compiler.rb    2009-09-11 09:33:39.000000000 +0200
+++ compiler.old.rb    2009-09-11 10:19:15.000000000 +0200
@@ -245,7 +245,7 @@

    def bootstrap
      @cb.static_init do
-      ldc this.name.gsub(/\//, '.')
+      ldc this.name
        invokestatic java.lang.Class, "forName", [java.lang.Class, string]
        invokestatic com.headius.surinx.SimpleJavaBootstrap, 
"registerBootstrap", [void, java.lang.Class]
        returnvoid


Here are the result with the backport:
[forax at localhost surinx]$ /usr/jdk/jdk1.6.0_11/bin/java -cp .:src 
-javaagent:../indy-backport2/lib/jsr292-backport.jar examples/fib
hello
1.001
0.051
0.052
0.078
0.074
0.073
0.071
0.059
0.049
0.049

And with davinci VM (without inlining patch)
[forax at localhost surinx]$ java -J-davinci-server -cp .:src 
-Xbootclasspath/p:/tmp/jdk7-jsr292.jar -XX:+UnlockExperimentalVMOptions 
-XX:+EnableInvokeDynamic examples/fib
hello
0.288
0.273
0.277
0.277
0.272
0.271
0.272
0.272
0.271
0.272

Before trying to apply the inlining patch, is there a reason why it is 
guarded by testable ?

Rémi


More information about the mlvm-dev mailing list