Le 27/01/2010 17:59, Rémi Forax a écrit :
Nice, it works well on some my small test suites (MethodHandle and indy).

About perf, dynamic calls are a little less efficient than their static couterparts, it seems that neither c1 nor c2 inline a method handle call or an invokedynamic.
Should I have set these inline flags that are now in product VM ?

BTW, in case of an indy call because the only way to change it is to call
CallSite.setTarget() (after bootstraping),
I think it's better to don't test the target method handle at call site
but instead to deopt if the target change.
That what the backport does, and that why, I think, it still wins some of my benchs :) Perhaps this optimisation can only be done after implementing invalidation.

Rémi

I've forget to say that the file in attachment of the previous mail
show clearly that the VM is not able to optimize the method increment
when calling with a method handle.

Rémi



Le 27/01/2010 15:54, Charles Oliver Nutter a écrit :
On Wed, Jan 27, 2010 at 11:22 AM, Christian Thalinger
<christian.thalin...@sun.com>  wrote:
Hi!

Yesterday I committed the first draft of the x86 C1 implementation for
JSR 292.

I did some testing on Linux and Solaris with the JRuby tests and
benchmarks.  The current implementation can run all but one benchmarks
(bench/bench_fib_stack_depth.rb, I still have to look into it)
successfully and finishes all 214 tests (test/test*.rb).  The latter
means that all tests run to its end and do not crash or assert, I have
no comparison yet if they finish successfully.
Very nice! The fib stack bench basically ends up generating a stack
error, so that's probably the place to start looking. It is intended
to blow up but show roughly how deep it got before the stack error.

Great to hear that the other tests are all working. I'll have to get
back into indy mode and get a recent build made that I can play with!

It would be very helpful if people out there would test their indy'fied
language implementation or just simple MH or invokedynamic testcases
with the client compiler. It would also be very helpful to get pointers
to other testsuites than JRuby.  The more tests, the better.

The easiest way to give it a try is to only build HotSpot and copy the
libjvm into a JDK 7 b80 download (given you are on Windows, Linux or
Solaris).

Thanks for you help!

-- Christian

_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev


_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to