JSR 292 x86 C1 support
Rémi Forax
forax at univ-mlv.fr
Wed Jan 27 09:02:14 PST 2010
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.Thalinger at 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 at openjdk.java.net
>>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>>>
>> _______________________________________________
>> mlvm-dev mailing list
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>
>
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20100127/e49ab2fd/attachment.html
More information about the mlvm-dev
mailing list