mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-14 00:49:42 +00:00
Updated for RealFYang
This commit is contained in:
parent
c4ac59d07f
commit
55106efee7
@ -469,6 +469,8 @@ void ShenandoahBarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler
|
||||
#ifdef COMPILER2
|
||||
void ShenandoahBarrierSetAssembler::try_resolve_weak_handle_in_c2(MacroAssembler *masm, Register obj,
|
||||
Register tmp, Label& slow_path) {
|
||||
assert_different_registers(obj, tmp);
|
||||
|
||||
Label done;
|
||||
|
||||
// Resolve weak handle using the standard implementation.
|
||||
@ -477,7 +479,6 @@ void ShenandoahBarrierSetAssembler::try_resolve_weak_handle_in_c2(MacroAssembler
|
||||
// Check if the reference is null, and if it is, take the fast path.
|
||||
__ beqz(obj, done);
|
||||
|
||||
assert(obj != tmp, "need tmp");
|
||||
Address gc_state(xthread, ShenandoahThreadLocalData::gc_state_offset());
|
||||
__ lbu(tmp, gc_state);
|
||||
|
||||
|
||||
@ -610,7 +610,9 @@ void ZBarrierSetAssembler::try_resolve_weak_handle_in_c2(MacroAssembler* masm, R
|
||||
BarrierSetAssembler::try_resolve_weak_handle_in_c2(masm, obj, tmp, slow_path);
|
||||
|
||||
// Check if the oop is bad, in which case we need to take the slow path.
|
||||
__ ld(tmp, mark_bad_mask_from_thread(xthread));
|
||||
__ relocate(barrier_Relocation::spec(), [&] {
|
||||
__ li16u(tmp, barrier_Relocation::unpatched);
|
||||
}, ZBarrierRelocationFormatMarkBadMask);
|
||||
__ andr(tmp, obj, tmp);
|
||||
__ bnez(tmp, slow_path);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user