equal
deleted
inserted
replaced
876 |
876 |
877 assert(oopDesc::mark_offset_in_bytes() == 0, "must be"); |
877 assert(oopDesc::mark_offset_in_bytes() == 0, "must be"); |
878 ldr(Rmark, Address(Robj, oopDesc::mark_offset_in_bytes())); |
878 ldr(Rmark, Address(Robj, oopDesc::mark_offset_in_bytes())); |
879 |
879 |
880 // Test if object is already locked |
880 // Test if object is already locked |
881 tst(Rmark, markOopDesc::unlocked_value); |
881 tst(Rmark, markWord::unlocked_value); |
882 b(already_locked, eq); |
882 b(already_locked, eq); |
883 |
883 |
884 // Save old object->mark() into BasicLock's displaced header |
884 // Save old object->mark() into BasicLock's displaced header |
885 str(Rmark, Address(Rlock, mark_offset)); |
885 str(Rmark, Address(Rlock, mark_offset)); |
886 |
886 |