equal
deleted
inserted
replaced
797 // meaning they are not mutable. |
797 // meaning they are not mutable. |
798 if (can_be_deoptimized(_jvf)) { |
798 if (can_be_deoptimized(_jvf)) { |
799 |
799 |
800 // Schedule deoptimization so that eventually the local |
800 // Schedule deoptimization so that eventually the local |
801 // update will be written to an interpreter frame. |
801 // update will be written to an interpreter frame. |
802 VM_DeoptimizeFrame deopt(_jvf->thread(), _jvf->fr().id()); |
802 Deoptimization::deoptimize_frame(_jvf->thread(), _jvf->fr().id()); |
803 VMThread::execute(&deopt); |
|
804 |
803 |
805 // Now store a new value for the local which will be applied |
804 // Now store a new value for the local which will be applied |
806 // once deoptimization occurs. Note however that while this |
805 // once deoptimization occurs. Note however that while this |
807 // write is deferred until deoptimization actually happens |
806 // write is deferred until deoptimization actually happens |
808 // can vframe created after this point will have its locals |
807 // can vframe created after this point will have its locals |