< prev index next >

src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp

Print this page
rev 50535 : [mq]: rename_IN_ROOT
rev 50536 : [mq]: rename_on_root
rev 50537 : [mq]: rename_on_heap

*** 31,50 **** #define __ masm-> void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register base, RegisterOrConstant ind_or_offs, Register val, Register tmp1, Register tmp2, Register tmp3, bool needs_frame) { ! bool on_heap = (decorators & IN_HEAP) != 0; ! bool on_root = (decorators & IN_ROOT) != 0; bool not_null = (decorators & OOP_NOT_NULL) != 0; ! assert(on_heap || on_root, "where?"); assert_different_registers(base, val, tmp1, tmp2, R0); switch (type) { case T_ARRAY: case T_OBJECT: { ! if (UseCompressedOops && on_heap) { Register co = tmp1; if (val == noreg) { __ li(co, 0); } else { co = not_null ? __ encode_heap_oop_not_null(tmp1, val) : __ encode_heap_oop(tmp1, val); --- 31,50 ---- #define __ masm-> void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register base, RegisterOrConstant ind_or_offs, Register val, Register tmp1, Register tmp2, Register tmp3, bool needs_frame) { ! bool in_heap = (decorators & IN_HEAP) != 0; ! bool in_native = (decorators & IN_NATIVE) != 0; bool not_null = (decorators & OOP_NOT_NULL) != 0; ! assert(in_heap || in_native, "where?"); assert_different_registers(base, val, tmp1, tmp2, R0); switch (type) { case T_ARRAY: case T_OBJECT: { ! if (UseCompressedOops && in_heap) { Register co = tmp1; if (val == noreg) { __ li(co, 0); } else { co = not_null ? __ encode_heap_oop_not_null(tmp1, val) : __ encode_heap_oop(tmp1, val);
*** 64,83 **** } void BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register base, RegisterOrConstant ind_or_offs, Register dst, Register tmp1, Register tmp2, bool needs_frame, Label *L_handle_null) { ! bool on_heap = (decorators & IN_HEAP) != 0; ! bool on_root = (decorators & IN_ROOT) != 0; bool not_null = (decorators & OOP_NOT_NULL) != 0; ! assert(on_heap || on_root, "where?"); assert_different_registers(ind_or_offs.register_or_noreg(), dst, R0); switch (type) { case T_ARRAY: case T_OBJECT: { ! if (UseCompressedOops && on_heap) { if (L_handle_null != NULL) { // Label provided. __ lwz(dst, ind_or_offs, base); __ cmpwi(CCR0, dst, 0); __ beq(CCR0, *L_handle_null); __ decode_heap_oop_not_null(dst); --- 64,83 ---- } void BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register base, RegisterOrConstant ind_or_offs, Register dst, Register tmp1, Register tmp2, bool needs_frame, Label *L_handle_null) { ! bool in_heap = (decorators & IN_HEAP) != 0; ! bool in_native = (decorators & IN_NATIVE) != 0; bool not_null = (decorators & OOP_NOT_NULL) != 0; ! assert(in_heap || in_native, "where?"); assert_different_registers(ind_or_offs.register_or_noreg(), dst, R0); switch (type) { case T_ARRAY: case T_OBJECT: { ! if (UseCompressedOops && in_heap) { if (L_handle_null != NULL) { // Label provided. __ lwz(dst, ind_or_offs, base); __ cmpwi(CCR0, dst, 0); __ beq(CCR0, *L_handle_null); __ decode_heap_oop_not_null(dst);
< prev index next >