Hotspot loves PHP.reboot / stack capturing exception
Thomas Wuerthinger
thomas.wuerthinger at oracle.com
Wed Sep 14 15:05:35 PDT 2011
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
More information about the mlvm-dev
mailing list