RFR: 8287044: Loom: Incorrect StackChunk::pc accessors

Aleksey Shipilev shade at openjdk.java.net
Thu May 19 18:01:11 UTC 2022


The injected field is defined as:


  macro(jdk_internal_vm_StackChunk, pc, intptr_signature, false) \


...yet it is read and written as "long", which silently overwrites adjacent fields in `StackChunk` on 32-bit platforms. This is a blocker for any 32-bit support. There are plenty of other `intptr` injected fields in other classes (e.g. `Class::array_klass`), and they are properly accessed by "address" accessors. 

Additional testing:
 - [x] Linux x86_64 fastdebug, prospective `jdk_loom hotspot_loom`
 - [ ] Linux AArch64 fastdebug, prospective `jdk_loom hotspot_loom`
 - [x] Linux x86_32 fastdebug experimental port is not broken here anymore

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

Commit messages:
 - Fix

Changes: https://git.openjdk.java.net/jdk/pull/8792/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8792&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8287044
  Stats: 8 lines in 3 files changed: 0 ins; 0 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8792.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8792/head:pull/8792

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


More information about the hotspot-dev mailing list