[aarch64-port-dev ] [8u] RFR: Revert differences against upstream 8u
Aleksey Shipilev
shade at redhat.com
Thu Feb 18 18:30:20 UTC 2021
On 2/18/21 7:23 PM, Andrew Hughes wrote:
> Thanks for doing this. I'm surprised (and rather scared) by how many there
> are. Most seem to be whitespace, thankfully. Do you have any idea how old
> the differences are? I'm wondering if there are issues with our current merge
> process, or whether these date back as long as the Windows one we spoke about
> yesterday.
The overwhelming majority of changes are from Shenandoah dropping read-barriers support and thus
"reverting" to old code where read barriers used to be. Not everything was reverted to exactly
upstream state.
There are a few non-whitespace changes left out from this webrev, those would need to be untangled
separately. This webrev reverts the obvious ones that do not require deep testing.
> One change does stand out:
>
> diff --git a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
> --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
> +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
> @@ -1720,7 +1720,7 @@
> __ biased_locking_enter(lock_reg, obj_reg, swap_reg, tmp, false, lock_done, &slow_path_lock);
> }
>
> - // Load (object->mark() | 1) into swap_reg r0
> + // Load (object->mark() | 1) into swap_reg %r0
> __ ldr(rscratch1, Address(obj_reg, 0));
> __ orr(swap_reg, rscratch1, 1);
>
> The removal of the '%' is the more recent change, done by Andrew Haley
> when adding AArch64 Shenandoah support. Is it not upstream that is
> behind here? That's why I left this when merging 8u292-b01.
Note this is a comment line. Upstream does have "%":
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/3d2970e26c36/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp#l1723
I think Andrew just mistyped in the old changeset:
changeset: 8867:af37ee789a9c
user: aph
date: Thu May 05 14:14:21 2016 +0000
summary: AArch64 support for Shenandoah.
diff -r 1ad0df87706c -r af37ee789a9c src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
--- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Tue May 03 14:10:12 2016 +0100
+++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Thu May 05 14:14:21 2016 +0000
@@ -1821,11 +1821,13 @@
// Load the oop from the handle
__ ldr(obj_reg, Address(oop_handle_reg, 0));
+ oopDesc::bs()->interpreter_write_barrier(masm, obj_reg);
+
if (UseBiasedLocking) {
__ biased_locking_enter(lock_reg, obj_reg, swap_reg, tmp, false, lock_done, &slow_path_lock);
}
- // Load (object->mark() | 1) into swap_reg %r0
+ // Load (object->mark() | 1) into swap_reg r0
__ ldr(rscratch1, Address(obj_reg, 0));
__ orr(swap_reg, rscratch1, 1);
@@ -1989,6 +1991,8 @@
Label done;
+ __ shenandoah_store_check(obj_reg);
+
if (UseBiasedLocking) {
__ biased_locking_exit(obj_reg, old_hdr, done);
}
> Rest looks good.
I am pushing this to aarch64-port/jdk8u-shenandoah, OK?
--
Thanks,
-Aleksey
More information about the aarch64-port-dev
mailing list