On Sep 8, 2011, at 4:57 AM, Thomas Wuerthinger wrote:

> Why not the following code pattern? Does it generate too many bytecodes? 

That's a reasonable alternative.

It generates data movement bytecodes O(L * M), where L is the average number of 
live values at deopt points and M is the number of deopt points.  The quadratic 
exponent on bytecode size bothers me, at least a little.

The other pattern pins the live values into a common set of locals, reducing 
data movement bytecodes (and probably compiled code data movement).

Using Remi's trick of an invokedynamic instead of a varargs array, the number 
of data movement bytecodes can be cut down about 3x (no iconst/aastore).  But 
it's still quadratic.

-- John
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to