src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp
changeset 57777 90ead0febf56
parent 52351 0ecb4e520110
child 57811 947252a54b98
equal deleted inserted replaced
57774:21dccfac0ec5 57777:90ead0febf56
    90   assert_different_registers(obj, klass, len, tmp);
    90   assert_different_registers(obj, klass, len, tmp);
    91 
    91 
    92   if(UseBiasedLocking && !len->is_valid()) {
    92   if(UseBiasedLocking && !len->is_valid()) {
    93     ldr(tmp, Address(klass, Klass::prototype_header_offset()));
    93     ldr(tmp, Address(klass, Klass::prototype_header_offset()));
    94   } else {
    94   } else {
    95     mov(tmp, (intptr_t)markOopDesc::prototype());
    95     mov(tmp, (intptr_t)markWord::prototype().value());
    96   }
    96   }
    97 
    97 
    98   str(tmp, Address(obj, oopDesc::mark_offset_in_bytes()));
    98   str(tmp, Address(obj, oopDesc::mark_offset_in_bytes()));
    99   str(klass, Address(obj, oopDesc::klass_offset_in_bytes()));
    99   str(klass, Address(obj, oopDesc::klass_offset_in_bytes()));
   100 
   100 
   217 
   217 
   218   // Must be the first instruction here, because implicit null check relies on it
   218   // Must be the first instruction here, because implicit null check relies on it
   219   ldr(hdr, Address(obj, oopDesc::mark_offset_in_bytes()));
   219   ldr(hdr, Address(obj, oopDesc::mark_offset_in_bytes()));
   220 
   220 
   221   str(obj, Address(disp_hdr, obj_offset));
   221   str(obj, Address(disp_hdr, obj_offset));
   222   tst(hdr, markOopDesc::unlocked_value);
   222   tst(hdr, markWord::unlocked_value);
   223   b(fast_lock, ne);
   223   b(fast_lock, ne);
   224 
   224 
   225   // Check for recursive locking
   225   // Check for recursive locking
   226   // See comments in InterpreterMacroAssembler::lock_object for
   226   // See comments in InterpreterMacroAssembler::lock_object for
   227   // explanations on the fast recursive locking check.
   227   // explanations on the fast recursive locking check.