--- a/src/hotspot/share/code/nmethod.cpp Wed Mar 21 17:09:34 2018 -0400
+++ b/src/hotspot/share/code/nmethod.cpp Wed Mar 21 19:45:24 2018 -0400
@@ -26,6 +26,7 @@
#include "jvm.h"
#include "code/codeCache.hpp"
#include "code/compiledIC.hpp"
+#include "code/compiledMethod.inline.hpp"
#include "code/dependencies.hpp"
#include "code/nativeInst.hpp"
#include "code/nmethod.hpp"
@@ -40,17 +41,21 @@
#include "interpreter/bytecode.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
+#include "memory/allocation.inline.hpp"
#include "memory/resourceArea.hpp"
#include "oops/method.inline.hpp"
#include "oops/methodData.hpp"
#include "oops/oop.inline.hpp"
#include "prims/jvmtiImpl.hpp"
#include "runtime/atomic.hpp"
+#include "runtime/frame.inline.hpp"
+#include "runtime/handles.inline.hpp"
#include "runtime/jniHandles.inline.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/os.hpp"
#include "runtime/sharedRuntime.hpp"
#include "runtime/sweeper.hpp"
+#include "runtime/vmThread.hpp"
#include "utilities/align.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/events.hpp"
@@ -381,6 +386,10 @@
nul_chk_table_size();
}
+address* nmethod::orig_pc_addr(const frame* fr) {
+ return (address*) ((address)fr->unextended_sp() + _orig_pc_offset);
+}
+
const char* nmethod::compile_kind() const {
if (is_osr_method()) return "osr";
if (method() != NULL && is_native_method()) return "c2n";