RFR: 8268178: Extract sender frame parsing to CodeBlob::FrameParser [v3]

Jaroslav Bachorik jbachorik at openjdk.java.net
Fri Jun 4 10:24:04 UTC 2021


On Fri, 4 Jun 2021 09:50:26 GMT, Ludovic Henry <luhenry at openjdk.org> wrote:

>> Whether and how a frame is setup is controlled by the code generator
>> for the specific CodeBlock. The CodeBlock is then in the best place to know how
>> to parse the sender's frame from the current frame in the given CodeBlock.
>> 
>> This refactoring proposes to extract this parsing out of `frame` and into a
>> `CodeBlock::FrameParser`. This FrameParser is then specialized in the relevant
>> inherited children of CodeBlock.
>> 
>> This change is to largely facilitate adding new supported cases for JDK-8252417 [1]
>> like runtime stubs.
>> 
>> [1] https://bugs.openjdk.java.net/browse/JDK-8252417
>
> Ludovic Henry has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Fix Windows build
>  - Fix zero build

src/hotspot/share/code/icBuffer.cpp line 146:

> 144:   BufferBlob* blob = BufferBlob::create("InlineCacheBuffer", code_size);
> 145:   if (blob == NULL) {
> 146:     vm_exit_out_of_memory(code_size, OOM_MALLOC_ERROR, "CodeCache: no room for InlineCacheBuffer");

Is VM exit here appropriate?
AFAICS, previously the failure to allocate InlineCacheBuffer was caught in assertion only.

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

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


More information about the hotspot-dev mailing list