hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
changeset 20021 633769a06320
parent 19710 2f8ca425504e
child 20022 e6e3f5ff6d73
equal deleted inserted replaced
20020:3a9df26f8978 20021:633769a06320
  1722     Rtmp1 = op->tmp3()->as_register();
  1722     Rtmp1 = op->tmp3()->as_register();
  1723     select_different_registers(obj, dst, k_RInfo, klass_RInfo, Rtmp1);
  1723     select_different_registers(obj, dst, k_RInfo, klass_RInfo, Rtmp1);
  1724   }
  1724   }
  1725 
  1725 
  1726   assert_different_registers(obj, k_RInfo, klass_RInfo);
  1726   assert_different_registers(obj, k_RInfo, klass_RInfo);
  1727   if (!k->is_loaded()) {
       
  1728     klass2reg_with_patching(k_RInfo, op->info_for_patch());
       
  1729   } else {
       
  1730 #ifdef _LP64
       
  1731     __ mov_metadata(k_RInfo, k->constant_encoding());
       
  1732 #endif // _LP64
       
  1733   }
       
  1734   assert(obj != k_RInfo, "must be different");
       
  1735 
  1727 
  1736   __ cmpptr(obj, (int32_t)NULL_WORD);
  1728   __ cmpptr(obj, (int32_t)NULL_WORD);
  1737   if (op->should_profile()) {
  1729   if (op->should_profile()) {
  1738     Label not_null;
  1730     Label not_null;
  1739     __ jccb(Assembler::notEqual, not_null);
  1731     __ jccb(Assembler::notEqual, not_null);
  1745     __ orl(data_addr, header_bits);
  1737     __ orl(data_addr, header_bits);
  1746     __ jmp(*obj_is_null);
  1738     __ jmp(*obj_is_null);
  1747     __ bind(not_null);
  1739     __ bind(not_null);
  1748   } else {
  1740   } else {
  1749     __ jcc(Assembler::equal, *obj_is_null);
  1741     __ jcc(Assembler::equal, *obj_is_null);
       
  1742   }
       
  1743 
       
  1744   if (!k->is_loaded()) {
       
  1745     klass2reg_with_patching(k_RInfo, op->info_for_patch());
       
  1746   } else {
       
  1747 #ifdef _LP64
       
  1748     __ mov_metadata(k_RInfo, k->constant_encoding());
       
  1749 #endif // _LP64
  1750   }
  1750   }
  1751   __ verify_oop(obj);
  1751   __ verify_oop(obj);
  1752 
  1752 
  1753   if (op->fast_check()) {
  1753   if (op->fast_check()) {
  1754     // get object class
  1754     // get object class