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