Integrated: 8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set

Saint Wesonga duke at openjdk.org
Tue Aug 13 08:12:56 UTC 2024


On Tue, 30 Jul 2024 15:37:38 GMT, Saint Wesonga <duke at openjdk.org> wrote:

> The implementation of the pd_conjoint_jlongs_atomic function in the Windows AArch64 port calls pd_conjoint_oops_atomic to copy jlongs from the source to the destination. However, when CHECK_UNHANDLED_OOPS is defined, copying of each jlong in pd_conjoint_oops_atomic calls oop::operator= instead of just copying the jlong.
> 
> oop::operator= then treats the value to be copied as a pointer, causing the assertion failure in JDK-8334475. The fix is to directly copy the jlongs from the source to the destination. The test "compiler/gcbarriers/UnsafeIntrinsicsTest.java" now passes on the Windows AArch64 port.
> 
> This PR also cleans up code duplication (similar to how  https://github.com/openjdk/jdk/pull/12197 cleaned it up when fixing jlong copying for Windows x64).

This pull request has now been integrated.

Changeset: 5bf27098
Author:    Saint Wesonga <saint.wesonga at microsoft.com>
Committer: Axel Boldt-Christmas <aboldtch at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/5bf27098e22172ed5d3ec0c43fe0553f8322c4b1
Stats:     59 lines in 1 file changed: 19 ins; 36 del; 4 mod

8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set

Reviewed-by: stefank, eosterlund, aboldtch

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

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


More information about the hotspot-runtime-dev mailing list