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

Reply via email to