equal
deleted
inserted
replaced
29 #include "memory/oopFactory.hpp" |
29 #include "memory/oopFactory.hpp" |
30 #include "memory/resourceArea.hpp" |
30 #include "memory/resourceArea.hpp" |
31 #include "memory/universe.hpp" |
31 #include "memory/universe.hpp" |
32 #include "oops/objArrayKlass.hpp" |
32 #include "oops/objArrayKlass.hpp" |
33 #include "oops/typeArrayOop.inline.hpp" |
33 #include "oops/typeArrayOop.inline.hpp" |
|
34 #include "runtime/deoptimization.hpp" |
34 #include "runtime/jniHandles.inline.hpp" |
35 #include "runtime/jniHandles.inline.hpp" |
35 #include "runtime/javaCalls.hpp" |
36 #include "runtime/javaCalls.hpp" |
36 #include "jvmci/jniAccessMark.inline.hpp" |
37 #include "jvmci/jniAccessMark.inline.hpp" |
37 #include "jvmci/jvmciRuntime.hpp" |
38 #include "jvmci/jvmciRuntime.hpp" |
38 |
39 |
1494 nmethodLocker nml(nm); |
1495 nmethodLocker nml(nm); |
1495 if (nm->is_alive()) { |
1496 if (nm->is_alive()) { |
1496 // Invalidating the HotSpotNmethod means we want the nmethod |
1497 // Invalidating the HotSpotNmethod means we want the nmethod |
1497 // to be deoptimized. |
1498 // to be deoptimized. |
1498 nm->mark_for_deoptimization(); |
1499 nm->mark_for_deoptimization(); |
1499 VM_Deoptimize op; |
1500 Deoptimization::deoptimize_all_marked(); |
1500 VMThread::execute(&op); |
|
1501 } |
1501 } |
1502 |
1502 |
1503 // A HotSpotNmethod instance can only reference a single nmethod |
1503 // A HotSpotNmethod instance can only reference a single nmethod |
1504 // during its lifetime so simply clear it here. |
1504 // during its lifetime so simply clear it here. |
1505 set_InstalledCode_address(mirror, 0); |
1505 set_InstalledCode_address(mirror, 0); |