< prev index next > src/hotspot/cpu/x86/interp_masm_x86.cpp
Print this page
#include "prims/jvmtiExport.hpp"
#include "prims/jvmtiThreadState.hpp"
#include "runtime/basicLock.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/javaThread.hpp"
+ #include "runtime/runtimeUpcalls.hpp"
#include "runtime/safepointMechanism.hpp"
#include "runtime/sharedRuntime.hpp"
#include "utilities/powerOfTwo.hpp"
// Implementation of InterpreterMacroAssembler
if (where != nullptr) {
jcc(Assembler::zero, *where);
}
}
+ void InterpreterMacroAssembler::generate_runtime_upcalls_on_method_entry()
+ {
+ address upcall = RuntimeUpcalls::on_method_entry_upcall_address();
+ if (RuntimeUpcalls::does_upcall_need_method_parameter(upcall)) {
+ get_method(c_rarg1);
+ call_VM(noreg,upcall, c_rarg1);
+ } else {
+ call_VM(noreg,upcall);
+ }
+ }
+
void InterpreterMacroAssembler::notify_method_entry() {
// Whenever JVMTI is interp_only_mode, method entry/exit events are sent to
// track stack depth. If it is possible to enter interp_only_mode we add
// the code to check if the event should be sent.
Register rthread = LP64_ONLY(r15_thread) NOT_LP64(rcx);
< prev index next >