hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp
changeset 1376 f7fc7a708b63
parent 1374 4c24294029a9
parent 593 803947e176bd
child 1388 3677f5f3d66b
equal deleted inserted replaced
1374:4c24294029a9 1376:f7fc7a708b63
  3231       __ movq(Address(rax, oopDesc::mark_offset_in_bytes()), rscratch1);
  3231       __ movq(Address(rax, oopDesc::mark_offset_in_bytes()), rscratch1);
  3232     } else {
  3232     } else {
  3233       __ movptr(Address(rax, oopDesc::mark_offset_in_bytes()),
  3233       __ movptr(Address(rax, oopDesc::mark_offset_in_bytes()),
  3234                (intptr_t) markOopDesc::prototype()); // header (address 0x1)
  3234                (intptr_t) markOopDesc::prototype()); // header (address 0x1)
  3235     }
  3235     }
  3236     __ store_klass(rax, rsi);  // klass
  3236     __ xorl(rcx, rcx); // use zero reg to clear memory (shorter code)
       
  3237     __ store_klass_gap(rax, rcx);  // zero klass gap for compressed oops
       
  3238     __ store_klass(rax, rsi);      // store klass last
  3237     __ jmp(done);
  3239     __ jmp(done);
  3238   }
  3240   }
  3239 
  3241 
  3240   {
  3242   {
  3241     SkipIfEqual skip(_masm, &DTraceAllocProbes, false);
  3243     SkipIfEqual skip(_masm, &DTraceAllocProbes, false);