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