RFR 8173309: jvmtiDeferredLocalVariableSet may update the wrong frame

Nils Eliasson nils.eliasson at oracle.com
Thu Jan 26 12:19:19 UTC 2017


Hi Tom,

Could you add the test case as well?

// Nils

On 2017-01-25 02:06, Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/8173309/webrev
> https://bugs.openjdk.java.net/browse/JDK-8173309
>
> When using jvmtiDeferredLocalVariableSet to update locals in a compiled frame, the code matches based purely on the method/bci pair. If some recursion has been inlined then it will update the first frame that matches instead of the intended frame. The code should be tracking the actual depth that the compilerVFrame came from instead.  The JVMCI operation materializeVirtualObjects uses this code when forcibly materializing EA’ed objects.  Normally this would only be noticed by debugger clients.  Tested with failing case from Graal.
>
> tom



More information about the hotspot-compiler-dev mailing list