src/share/vm/opto/library_call.cpp

Print this page

        

@@ -2178,11 +2178,18 @@
 #define __ ideal.
 
   const int reference_type_offset = instanceKlass::reference_type_offset_in_bytes() +
                                         sizeof(oopDesc);
 
-  Node* referent_off = __ ConI(java_lang_ref_Reference::referent_offset);
+  Node* referent_off;
+  
+  if (offset->bottom_type()->isa_int() != NULL) {
+    referent_off = __ makecon(TypeInt::make(java_lang_ref_Reference::referent_offset));
+  } else {
+    assert(offset->bottom_type()->isa_long() != NULL, "what else?");
+    referent_off = __ makecon(TypeLong::make(java_lang_ref_Reference::referent_offset));
+  }
 
   __ if_then(offset, BoolTest::eq, referent_off, unlikely); {
     __ if_then(base_oop, BoolTest::ne, null(), likely); {
 
       // Update graphKit memory and control from IdealKit.