hotspot/src/share/vm/code/relocInfo.hpp
changeset 9111 c100c09c66f2
parent 8724 693c6b883b54
child 9124 f60dee480d49
--- a/hotspot/src/share/vm/code/relocInfo.hpp	Mon Apr 04 22:17:15 2011 -0700
+++ b/hotspot/src/share/vm/code/relocInfo.hpp	Tue Apr 05 00:31:09 2011 -0700
@@ -703,6 +703,10 @@
     assert(datalen()==0 || type()==relocInfo::none, "no data here");
   }
 
+  static bool is_reloc_index(intptr_t index) {
+    return 0 < index && index < os::vm_page_size();
+  }
+
  protected:
   // Helper functions for pack_data_to() and unpack_data().
 
@@ -1127,6 +1131,12 @@
     return rh;
   }
 
+  // Some address looking values aren't safe to treat as relocations
+  // and should just be treated as constants.
+  static bool can_be_relocated(address target) {
+    return target != NULL && !is_reloc_index((intptr_t)target);
+  }
+
  private:
   address _target;                  // address in runtime