< prev index next >

src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp

Print this page




  94         __ z_stg(val, addr);
  95       }
  96     }
  97     break;
  98   }
  99   default: Unimplemented();
 100   }
 101 }
 102 
 103 void BarrierSetAssembler::resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2) {
 104   NearLabel Ldone;
 105   __ z_ltgr(tmp1, value);
 106   __ z_bre(Ldone);          // Use NULL result as-is.
 107 
 108   __ z_nill(value, ~JNIHandles::weak_tag_mask);
 109   __ z_lg(value, 0, value); // Resolve (untagged) jobject.
 110 
 111   __ verify_oop(value);
 112   __ bind(Ldone);
 113 }
 114 
 115 void BarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
 116                                                         Register obj, Register tmp, Label& slowpath) {
 117   __ z_nill(obj, ~JNIHandles::weak_tag_mask);
 118   __ z_lg(obj, 0, obj); // Resolve (untagged) jobject.
 119 }


  94         __ z_stg(val, addr);
  95       }
  96     }
  97     break;
  98   }
  99   default: Unimplemented();
 100   }
 101 }
 102 
 103 void BarrierSetAssembler::resolve_jobject(MacroAssembler* masm, Register value, Register tmp1, Register tmp2) {
 104   NearLabel Ldone;
 105   __ z_ltgr(tmp1, value);
 106   __ z_bre(Ldone);          // Use NULL result as-is.
 107 
 108   __ z_nill(value, ~JNIHandles::weak_tag_mask);
 109   __ z_lg(value, 0, value); // Resolve (untagged) jobject.
 110 
 111   __ verify_oop(value);
 112   __ bind(Ldone);
 113 }






< prev index next >