[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-mlvm-dev
Subject:    Another paper on invokedynamic
From:       forax () univ-mlv ! fr (=?ISO-8859-1?Q?R=E9mi_Forax?=)
Date:       2010-09-28 8:00:45
Message-ID: 4CA1A0AD.9020600 () univ-mlv ! fr
[Download RAW message or body]

  Le 28/09/2010 03:57, Chanwit Kaewkasi a ?crit :
> Hi R?mi,
>
> On Mon, Sep 27, 2010 at 21:30, R?mi Forax<forax at univ-mlv.fr>  wrote:
>>   Le 27/09/2010 15:20, Christian Thalinger a ?crit :
>>> On Mon, 2010-09-27 at 19:52 +0700, Chanwit Kaewkasi wrote:
>>>> I hope you find it useful somehow and any feedback is very welcome!
>>>>
>>>> http://dl.dropbox.com/u/381580/vmil10_kaewkasi_revised.pdf
>>> Nice read.  It would be very interesting why Monte Carlo behaves like
>>> that.  Did you look closer at it?
>> I've done the same kind of test, not on SciMark 2.0 but on DaCapo
> Glad to hear that you tried transforming DaCapo as well.
> How did you overcome the limitation that primitives must follow references:
>
> http://mail.openjdk.java.net/pipermail/mlvm-dev/2010-July/001875.html
>
> or probably I missed somethings in the recent builds?

I don't know for recent build. When I've tested the reference 
implementation (hotspot),
I've disabled transformation if I detect a method type that will be not 
handled by the RI.
Otherwise if you test DaCapo-jython there is no such problematic 
signature in it.

I've initally develop the weaver as a non regression test for the backport,
and with the backport there is no such problem.

>> and without rewriting all primitive operators (BTW, I haven't understand
>> why you have re-written it manually).
> It's getting fully automatic for now ;-)
>
>> The results was far better but I suppose it's due to the fact that I haven't
>> woven operators.
>>
>> A remark, you don't need to store all method handles in an array,
>> the one you initialize in the static block of each class.
>>
>> Instead of having one boostrap by callsite you can factor them to have one
>> bootstrap by invocation bytecode.
> This looks interesting but it seems to be my limitation that I cannot
> fully understand you suggestions at the moment. Maybe I'll try what
> you said and be back to you later. Thanks a lot.

You can have only 4 bootstrap methods, one by invoke* instruction

> -Chanwit

R?mi

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic