RFR: 8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted

Patric Hedlin phedlin at openjdk.java.net
Tue Oct 20 13:43:16 UTC 2020


On Tue, 20 Oct 2020 13:31:59 GMT, Patric Hedlin <phedlin at openjdk.org> wrote:

> Trampoline call generation (in the macro-assembler) may run out of CodeBuffer space without the proper error handling,
> resulting in asserts such as: #  Internal Error (.../open/src/hotspot/share/asm/codeBuffer.hpp:198), pid=845, tid=859
> #  assert(allocates2(pc)) failed: relocation addr must be in this section
> This update extends the error handling for such error cases to cover all uses of `trampoline_call()`, direct and
> indirect. Failure registration/recording is retained in the "**aarch64.ad**" file.

Testing tier1-3
Repeated testing with hs-tier1-3 using `-XX:+StressCodeBuffers`.
Repeated testing with `jtreg:compiler/profiling/spectrapredefineclass/Launcher.java` using `-XX:+StressCodeBuffers`.

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

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


More information about the hotspot-dev mailing list