RFR: 8325074: ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11

Axel Boldt-Christmas aboldtch at openjdk.org
Thu Feb 15 07:13:15 UTC 2024


`ZBarrierSet::clone_obj_array` incorrectly treats the payload of an ObjArray as `[base, obj + size[`. With non standard object alignment (`ObjectAlignmentInBytes`) there may be padding words at the end. 

Change `ZBarrierSet::clone_obj_array` to instead use `[base, base + length[` as the payload.

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

Commit messages:
 - 8325074: ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11

Changes: https://git.openjdk.org/jdk/pull/17863/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17863&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8325074
  Stats: 5 lines in 3 files changed: 1 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/17863.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17863/head:pull/17863

PR: https://git.openjdk.org/jdk/pull/17863


More information about the hotspot-gc-dev mailing list