8204628: [AArch64] Assertion failure in BarrierSetAssembler::load_at
Reviewed-by: aph, drwhite, eosterlund, adinn
This commit is contained in:
parent
673a629875
commit
dff9265409
@ -2113,7 +2113,6 @@ void MacroAssembler::verify_heapbase(const char* msg) {
|
||||
#endif
|
||||
|
||||
void MacroAssembler::resolve_jobject(Register value, Register thread, Register tmp) {
|
||||
BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
|
||||
Label done, not_weak;
|
||||
cbz(value, done); // Use NULL as-is.
|
||||
|
||||
@ -2121,15 +2120,15 @@ void MacroAssembler::resolve_jobject(Register value, Register thread, Register t
|
||||
tbz(r0, 0, not_weak); // Test for jweak tag.
|
||||
|
||||
// Resolve jweak.
|
||||
bs->load_at(this, IN_ROOT | ON_PHANTOM_OOP_REF, T_OBJECT,
|
||||
value, Address(value, -JNIHandles::weak_tag_value), tmp, thread);
|
||||
access_load_at(T_OBJECT, IN_ROOT | ON_PHANTOM_OOP_REF, value,
|
||||
Address(value, -JNIHandles::weak_tag_value), tmp, thread);
|
||||
verify_oop(value);
|
||||
b(done);
|
||||
|
||||
bind(not_weak);
|
||||
// Resolve (untagged) jobject.
|
||||
bs->load_at(this, IN_CONCURRENT_ROOT, T_OBJECT,
|
||||
value, Address(value, 0), tmp, thread);
|
||||
access_load_at(T_OBJECT, IN_CONCURRENT_ROOT, value, Address(value, 0), tmp,
|
||||
thread);
|
||||
verify_oop(value);
|
||||
bind(done);
|
||||
}
|
||||
@ -3664,9 +3663,8 @@ void MacroAssembler::load_klass(Register dst, Register src) {
|
||||
// ((OopHandle)result).resolve();
|
||||
void MacroAssembler::resolve_oop_handle(Register result, Register tmp) {
|
||||
// OopHandle::resolve is an indirection.
|
||||
BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
|
||||
bs->load_at(this, IN_CONCURRENT_ROOT, T_OBJECT,
|
||||
result, Address(result, 0), tmp, rthread);
|
||||
access_load_at(T_OBJECT, IN_CONCURRENT_ROOT,
|
||||
result, Address(result, 0), tmp, noreg);
|
||||
}
|
||||
|
||||
void MacroAssembler::load_mirror(Register dst, Register method, Register tmp) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user