Arg ordering on the test path method handle for GwT
John Rose
john.r.rose at oracle.com
Thu Jan 6 11:23:27 PST 2011
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.
-- John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110106/4a91021f/attachment.html
More information about the mlvm-dev
mailing list