diff src/share/vm/code/nmethod.hpp @ 22239:7ca4c8c37ca9

nmethod::is_deopt_entry should use NativeCall::instruction_size
author twisti
date Fri, 17 Jul 2015 08:45:25 -0700
parents be896a1983c0
children c28cb37b2e1d
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.hpp	Fri Jul 17 11:41:55 2015 +0200
+++ b/src/share/vm/code/nmethod.hpp	Fri Jul 17 08:45:25 2015 -0700
@@ -694,24 +694,7 @@
   // Deopt
   // Return true is the PC is one would expect if the frame is being deopted.
   bool is_deopt_pc      (address pc) { return is_deopt_entry(pc) || is_deopt_mh_entry(pc); }
-
-  // (thomaswue) When using jvmci, the address might be off by 5 (because this is the size of the call instruction.
-  // (thomaswue) TODO: Replace this by a more general mechanism.
-  // (sanzinger) SPARC has another offset, looked for some variable existing in HotSpot which describes this offset, but i have not
-  // found anything.
-  bool is_deopt_entry   (address pc) {
-    return pc == deopt_handler_begin()
-#ifdef JVMCI
-      || pc == deopt_handler_begin() +
-#ifdef TARGET_ARCH_sparc
-  8
-#endif // sparc
-#ifdef TARGET_ARCH_x86
-  5
-#endif // x86
-#endif // JVMCI
-      ;
-  }
+  bool is_deopt_entry(address pc);
   bool is_deopt_mh_entry(address pc) { return pc == deopt_mh_handler_begin(); }
   // Accessor/mutator for the original pc of a frame before a frame was deopted.
   address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }