Hotspot loves PHP.reboot

John Rose john.r.rose at oracle.com
Thu Sep 8 12:47:47 PDT 2011


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110908/2ea1781d/attachment.html 


More information about the mlvm-dev mailing list