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.