3988 } else { |
3988 } else { |
3989 bs->store_at(this, decorators, type, dst, src, tmp1, thread_tmp); |
3989 bs->store_at(this, decorators, type, dst, src, tmp1, thread_tmp); |
3990 } |
3990 } |
3991 } |
3991 } |
3992 |
3992 |
|
3993 void MacroAssembler::resolve(DecoratorSet decorators, Register obj) { |
|
3994 // Use stronger ACCESS_WRITE|ACCESS_READ by default. |
|
3995 if ((decorators & (ACCESS_READ | ACCESS_WRITE)) == 0) { |
|
3996 decorators |= ACCESS_READ | ACCESS_WRITE; |
|
3997 } |
|
3998 BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler(); |
|
3999 return bs->resolve(this, decorators, obj); |
|
4000 } |
|
4001 |
3993 void MacroAssembler::load_heap_oop(Register dst, Address src, Register tmp1, |
4002 void MacroAssembler::load_heap_oop(Register dst, Address src, Register tmp1, |
3994 Register thread_tmp, DecoratorSet decorators) { |
4003 Register thread_tmp, DecoratorSet decorators) { |
3995 access_load_at(T_OBJECT, IN_HEAP | decorators, dst, src, tmp1, thread_tmp); |
4004 access_load_at(T_OBJECT, IN_HEAP | decorators, dst, src, tmp1, thread_tmp); |
3996 } |
4005 } |
3997 |
4006 |