Arg ordering on the test path method handle for GwT
Rémi Forax
forax at univ-mlv.fr
Thu Jan 6 11:25:09 PST 2011
On 01/06/2011 08:23 PM, John Rose wrote:
> On Jan 6, 2011, at 10:59 AM, Mark Roos wrote:
>
>> My goal was to do the port at the byte code level so that there would
>> be a high degree of confidence
>> that the 500K of existing code will work as it does today. It is a
>> stack based VM so changing the arg
>> order could add some pain for me (another thing I try to avoid).
>> Since I am not calling Java methods
>> the order is consistent within the Smalltalk world so the only rough
>> spot is in guard with test.
>>
>> I was thinking of either permute (just move one arg), drop or
>> collect. All would need to be specific for
>> a given airity. Since this is for the test path of guard with test
>> the args are discarded so it seems any
>> of the above would work. Any thoughts on which might be the least
>> overhead? ( or best optimized?).
>> I was guessing permute ( as you suggested)
>
> If I understand the issue, you want to have the GWT predicate look at
> the *last* argument instead of the *first*.
>
> In that case, the simplest way to go is to generate your GWT predicate
> as a unary MH, but then wrap it in a dropArguments so it can take
> *all* the arguments but drop all but the last. Then pass the the
> wrapped predicate to guardWithTest.
Agree.
>
> -- John
Rémi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110106/9299fd8f/attachment-0001.html
More information about the mlvm-dev
mailing list