RFR: 8370500: Change windows x64 implementation of os::current_stack_pointer()

Erik Österlund eosterlund at openjdk.org
Thu Oct 23 16:07:08 UTC 2025


The current implementation of os::current_stack_pointer() on windows x64 uses a code stub to read the stack pointer. This means that os::current_stack_pointer() may not be called early on in the bootstrapping. This prevents unhandled oops from being enabled early on.

However, there is an MSVC intrinsic that provides the same functionality without the need to use stubs: _AddressOfReturnAddress() from intrin.h
By changing this implementation on windows x64, we should be able to call os::current_stack_pointer() early on as it is seemingly the only implementation with such a bootstrapping dependency.

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

Commit messages:
 - 8370500: Change windows x64 implementation of os::current_stack_pointer()

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

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


More information about the hotspot-dev mailing list