equal
deleted
inserted
replaced
40 #include "oops/objArrayOop.inline.hpp" |
40 #include "oops/objArrayOop.inline.hpp" |
41 #include "oops/oop.inline.hpp" |
41 #include "oops/oop.inline.hpp" |
42 #include "oops/typeArrayOop.inline.hpp" |
42 #include "oops/typeArrayOop.inline.hpp" |
43 #include "prims/methodHandles.hpp" |
43 #include "prims/methodHandles.hpp" |
44 #include "runtime/compilationPolicy.hpp" |
44 #include "runtime/compilationPolicy.hpp" |
45 #include "runtime/deoptimization.hpp" |
|
46 #include "runtime/fieldDescriptor.inline.hpp" |
45 #include "runtime/fieldDescriptor.inline.hpp" |
47 #include "runtime/handles.inline.hpp" |
46 #include "runtime/handles.inline.hpp" |
48 #include "runtime/interfaceSupport.inline.hpp" |
47 #include "runtime/interfaceSupport.inline.hpp" |
49 #include "runtime/javaCalls.hpp" |
48 #include "runtime/javaCalls.hpp" |
50 #include "runtime/jniHandles.inline.hpp" |
49 #include "runtime/jniHandles.inline.hpp" |
1108 DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context); |
1107 DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context); |
1109 marked = deps.mark_dependent_nmethods(changes); |
1108 marked = deps.mark_dependent_nmethods(changes); |
1110 } |
1109 } |
1111 if (marked > 0) { |
1110 if (marked > 0) { |
1112 // At least one nmethod has been marked for deoptimization. |
1111 // At least one nmethod has been marked for deoptimization. |
1113 Deoptimization::deoptimize_all_marked(); |
1112 VM_Deoptimize op; |
|
1113 VMThread::execute(&op); |
1114 } |
1114 } |
1115 } |
1115 } |
1116 |
1116 |
1117 void MethodHandles::trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) { |
1117 void MethodHandles::trace_method_handle_interpreter_entry(MacroAssembler* _masm, vmIntrinsics::ID iid) { |
1118 if (TraceMethodHandles) { |
1118 if (TraceMethodHandles) { |
1504 DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context()); |
1504 DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context()); |
1505 marked = deps.remove_all_dependents(); |
1505 marked = deps.remove_all_dependents(); |
1506 } |
1506 } |
1507 if (marked > 0) { |
1507 if (marked > 0) { |
1508 // At least one nmethod has been marked for deoptimization |
1508 // At least one nmethod has been marked for deoptimization |
1509 Deoptimization::deoptimize_all_marked(); |
1509 VM_Deoptimize op; |
|
1510 VMThread::execute(&op); |
1510 } |
1511 } |
1511 } |
1512 } |
1512 } |
1513 } |
1513 JVM_END |
1514 JVM_END |
1514 |
1515 |