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" |
|
35 #include "runtime/jniHandles.inline.hpp" |
34 #include "runtime/jniHandles.inline.hpp" |
36 #include "runtime/javaCalls.hpp" |
35 #include "runtime/javaCalls.hpp" |
37 #include "jvmci/jniAccessMark.inline.hpp" |
36 #include "jvmci/jniAccessMark.inline.hpp" |
38 #include "jvmci/jvmciRuntime.hpp" |
37 #include "jvmci/jvmciRuntime.hpp" |
39 |
38 |
1491 nmethodLocker nml(nm); |
1490 nmethodLocker nml(nm); |
1492 if (nm->is_alive()) { |
1491 if (nm->is_alive()) { |
1493 // Invalidating the HotSpotNmethod means we want the nmethod |
1492 // Invalidating the HotSpotNmethod means we want the nmethod |
1494 // to be deoptimized. |
1493 // to be deoptimized. |
1495 nm->mark_for_deoptimization(); |
1494 nm->mark_for_deoptimization(); |
1496 Deoptimization::deoptimize_all_marked(); |
1495 VM_Deoptimize op; |
|
1496 VMThread::execute(&op); |
1497 } |
1497 } |
1498 |
1498 |
1499 // A HotSpotNmethod instance can only reference a single nmethod |
1499 // A HotSpotNmethod instance can only reference a single nmethod |
1500 // during its lifetime so simply clear it here. |
1500 // during its lifetime so simply clear it here. |
1501 set_InstalledCode_address(mirror, 0); |
1501 set_InstalledCode_address(mirror, 0); |