< prev index next >
src/hotspot/share/prims/methodHandles.cpp
Print this page
rev 54621 : imported patch 8221734-v1
@@ -37,10 +37,11 @@
#include "oops/objArrayOop.inline.hpp"
#include "oops/oop.inline.hpp"
#include "oops/typeArrayOop.inline.hpp"
#include "prims/methodHandles.hpp"
#include "runtime/compilationPolicy.hpp"
+#include "runtime/deoptimization.hpp"
#include "runtime/fieldDescriptor.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.inline.hpp"
#include "runtime/javaCalls.hpp"
#include "runtime/jniHandles.inline.hpp"
@@ -1104,12 +1105,11 @@
DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context);
marked = deps.mark_dependent_nmethods(changes);
}
if (marked > 0) {
// At least one nmethod has been marked for deoptimization.
- VM_Deoptimize op;
- VMThread::execute(&op);
+ Deoptimization::deoptimize_all_marked();
}
}
void MethodHandles::trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) {
if (TraceMethodHandles) {
@@ -1501,12 +1501,11 @@
DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context());
marked = deps.remove_all_dependents();
}
if (marked > 0) {
// At least one nmethod has been marked for deoptimization
- VM_Deoptimize op;
- VMThread::execute(&op);
+ Deoptimization::deoptimize_all_marked();
}
}
}
JVM_END
< prev index next >