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
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to