< prev index next >

src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp

Print this page

@@ -1677,10 +1677,11 @@
     select_different_registers(obj, dst, k_RInfo, klass_RInfo, Rtmp1);
   }
 
   assert_different_registers(obj, k_RInfo, klass_RInfo);
 
+  if (op->need_null_check()) {
   __ cmpptr(obj, (int32_t)NULL_WORD);
   if (op->should_profile()) {
     Label not_null;
     __ jccb(Assembler::notEqual, not_null);
     // Object is null; update MDO and exit

@@ -1692,10 +1693,11 @@
     __ jmp(*obj_is_null);
     __ bind(not_null);
   } else {
     __ jcc(Assembler::equal, *obj_is_null);
   }
+  }
 
   if (!k->is_loaded()) {
     klass2reg_with_patching(k_RInfo, op->info_for_patch());
   } else {
 #ifdef _LP64
< prev index next >