On 9/14/11 10:20 PM, Tom Rodriguez wrote: > On Sep 14, 2011, at 10:10 AM, Thomas Wuerthinger wrote: > >> On 13.09.2011 00:59, John Rose wrote: >>> This exposes the question of liveness: JVMs routinely nullify >>> non-live variables, but what if the only remaining use is the >>> getLocalArray intrinsic? Shouldn't it count as a weak reference? Or >>> will we allow it to "reanimate" all local values? That would impose a >>> systemic cost on the register allocator, for the whole method. >> I cannot think of a use case where nullifying non-live variables would >> be a problem. > But I don't think the compiler knows which locals are live in this case since > the state is going to passed to some unknown piece of code. Any JVMState > used by getLocalArray would have to treat all locals as live. > > tom Yes, true, I guess the fast-path version of a scripting language method might leave out usages of locals that are necessary in the slow-path version. But one could maybe disable the local variable liveness maps for the methods that use this functionality (i.e., the extended exception stack trace or the getLocalArray)?
- thomas _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev