On Thu, 22 Oct 2020 08:04:48 GMT, Robbin Ehn <r...@openjdk.org> wrote:

>> src/hotspot/share/prims/jvmtiEnv.cpp line 1663:
>> 
>>> 1661:       return JVMTI_ERROR_OUT_OF_MEMORY;
>>> 1662:     }
>>> 1663:     if (!eb.deoptimize_objects(1)) {
>> 
>> Oh and why is the depth 1 here, when two frames are deoptimized? Maybe I 
>> missed something.
>
> @reinrich did I mess something up when merging this in?

Depth 1 means top frame and its caller. In UpdateForPopTopFrameClosure::doit() 
line 1606(?) the 2 top frames are deoptimized. Reallocating objects while a 
frame pop request is processed does not work if reallocation fails therefore we 
use an EscapeBarrier to eagerly reallocate objects beforehand.

-------------

PR: https://git.openjdk.java.net/jdk/pull/729

Reply via email to