equal
deleted
inserted
replaced
726 // meaning they are not mutable. |
726 // meaning they are not mutable. |
727 if (can_be_deoptimized(_jvf)) { |
727 if (can_be_deoptimized(_jvf)) { |
728 |
728 |
729 // Schedule deoptimization so that eventually the local |
729 // Schedule deoptimization so that eventually the local |
730 // update will be written to an interpreter frame. |
730 // update will be written to an interpreter frame. |
731 VM_DeoptimizeFrame deopt(_jvf->thread(), _jvf->fr().id()); |
731 Deoptimization::deoptimize_frame(_jvf->thread(), _jvf->fr().id()); |
732 VMThread::execute(&deopt); |
|
733 |
732 |
734 // Now store a new value for the local which will be applied |
733 // Now store a new value for the local which will be applied |
735 // once deoptimization occurs. Note however that while this |
734 // once deoptimization occurs. Note however that while this |
736 // write is deferred until deoptimization actually happens |
735 // write is deferred until deoptimization actually happens |
737 // can vframe created after this point will have its locals |
736 // can vframe created after this point will have its locals |