hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
changeset 11430 718fc06da49a
parent 7724 a92d706dbdd5
child 11791 3be8cae67887
equal deleted inserted replaced
11429:e894217a5d94 11430:718fc06da49a
   148 
   148 
   149 void C1_MacroAssembler::initialize_header(Register obj, Register klass, Register len, Register t1, Register t2) {
   149 void C1_MacroAssembler::initialize_header(Register obj, Register klass, Register len, Register t1, Register t2) {
   150   assert_different_registers(obj, klass, len);
   150   assert_different_registers(obj, klass, len);
   151   if (UseBiasedLocking && !len->is_valid()) {
   151   if (UseBiasedLocking && !len->is_valid()) {
   152     assert_different_registers(obj, klass, len, t1, t2);
   152     assert_different_registers(obj, klass, len, t1, t2);
   153     movptr(t1, Address(klass, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
   153     movptr(t1, Address(klass, Klass::prototype_header_offset()));
   154     movptr(Address(obj, oopDesc::mark_offset_in_bytes()), t1);
   154     movptr(Address(obj, oopDesc::mark_offset_in_bytes()), t1);
   155   } else {
   155   } else {
   156     // This assumes that all prototype bits fit in an int32_t
   156     // This assumes that all prototype bits fit in an int32_t
   157     movptr(Address(obj, oopDesc::mark_offset_in_bytes ()), (int32_t)(intptr_t)markOopDesc::prototype());
   157     movptr(Address(obj, oopDesc::mark_offset_in_bytes ()), (int32_t)(intptr_t)markOopDesc::prototype());
   158   }
   158   }