--- a/hotspot/src/share/vm/code/relocInfo.hpp Wed Jul 05 17:40:55 2017 +0200
+++ b/hotspot/src/share/vm/code/relocInfo.hpp Sat Apr 09 21:16:12 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