< prev index next >

src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp

Print this page

        

*** 27,37 **** #include "c1/c1_Runtime1.hpp" #include "classfile/systemDictionary.hpp" #include "gc/shared/collectedHeap.hpp" #include "interpreter/interpreter.hpp" #include "oops/arrayOop.hpp" ! #include "oops/markWord.hpp" #include "runtime/basicLock.hpp" #include "runtime/biasedLocking.hpp" #include "runtime/os.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/stubRoutines.hpp" --- 27,37 ---- #include "c1/c1_Runtime1.hpp" #include "classfile/systemDictionary.hpp" #include "gc/shared/collectedHeap.hpp" #include "interpreter/interpreter.hpp" #include "oops/arrayOop.hpp" ! #include "oops/markOop.hpp" #include "runtime/basicLock.hpp" #include "runtime/biasedLocking.hpp" #include "runtime/os.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/stubRoutines.hpp"
*** 90,100 **** assert_different_registers(obj, klass, len, tmp); if(UseBiasedLocking && !len->is_valid()) { ldr(tmp, Address(klass, Klass::prototype_header_offset())); } else { ! mov(tmp, (intptr_t)markWord::prototype().value()); } str(tmp, Address(obj, oopDesc::mark_offset_in_bytes())); str(klass, Address(obj, oopDesc::klass_offset_in_bytes())); --- 90,100 ---- assert_different_registers(obj, klass, len, tmp); if(UseBiasedLocking && !len->is_valid()) { ldr(tmp, Address(klass, Klass::prototype_header_offset())); } else { ! mov(tmp, (intptr_t)markOopDesc::prototype()); } str(tmp, Address(obj, oopDesc::mark_offset_in_bytes())); str(klass, Address(obj, oopDesc::klass_offset_in_bytes()));
*** 217,227 **** // Must be the first instruction here, because implicit null check relies on it ldr(hdr, Address(obj, oopDesc::mark_offset_in_bytes())); str(obj, Address(disp_hdr, obj_offset)); ! tst(hdr, markWord::unlocked_value); b(fast_lock, ne); // Check for recursive locking // See comments in InterpreterMacroAssembler::lock_object for // explanations on the fast recursive locking check. --- 217,227 ---- // Must be the first instruction here, because implicit null check relies on it ldr(hdr, Address(obj, oopDesc::mark_offset_in_bytes())); str(obj, Address(disp_hdr, obj_offset)); ! tst(hdr, markOopDesc::unlocked_value); b(fast_lock, ne); // Check for recursive locking // See comments in InterpreterMacroAssembler::lock_object for // explanations on the fast recursive locking check.
< prev index next >