-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 21, 22, 23
-
Component/s: hotspot
-
b20
-
s390x
-
linux
in macroAssembler_s390.cpp:
if (DiagnoseSyncOnValueBasedClasses != 0) {
load_klass(Z_R1_scratch, oop);
z_l(Z_R1_scratch, Address(Z_R1_scratch, Klass::access_flags_offset()));
assert((JVM_ACC_IS_VALUE_BASED_CLASS & 0xFFFF) == 0, "or change following instruction");
z_nilh(Z_R1_scratch, JVM_ACC_IS_VALUE_BASED_CLASS >> 16);
z_brne(done);
}
here load instruction could be removed if we test the bit in the memory itself.
if (DiagnoseSyncOnValueBasedClasses != 0) {
load_klass(Z_R1_scratch, oop);
z_l(Z_R1_scratch, Address(Z_R1_scratch, Klass::access_flags_offset()));
assert((JVM_ACC_IS_VALUE_BASED_CLASS & 0xFFFF) == 0, "or change following instruction");
z_nilh(Z_R1_scratch, JVM_ACC_IS_VALUE_BASED_CLASS >> 16);
z_brne(done);
}
here load instruction could be removed if we test the bit in the memory itself.
- links to
-
Commit
openjdk/jdk/8da175d0
-
Review(master)
openjdk/jdk/18709