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

Erik Österlund eosterlund at openjdk.org
Tue Oct 28 13:44:42 UTC 2025


On Thu, 23 Oct 2025 15:44:39 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: c3c0a676
Author:    Erik Österlund <eosterlund at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/c3c0a676e53dbafd82e8614a20f6c47df7fc2108
Stats:     46 lines in 4 files changed: 9 ins; 35 del; 2 mod

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

Reviewed-by: aboldtch, dholmes, kvn, adinn

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

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


More information about the hotspot-dev mailing list