On Thu, 22 Oct 2020 08:04:48 GMT, Robbin Ehn <[email protected]> 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