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

Patric Hedlin phedlin at openjdk.java.net
Tue Oct 20 13:37:25 UTC 2020


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.

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

Commit messages:
 - 8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted

Changes: https://git.openjdk.java.net/jdk/pull/765/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=765&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8248411
  Stats: 148 lines in 5 files changed: 83 ins; 7 del; 58 mod
  Patch: https://git.openjdk.java.net/jdk/pull/765.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/765/head:pull/765

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


More information about the hotspot-dev mailing list