src/share/vm/interpreter/interpreterRuntime.cpp

changeset 8885
1832e44a9889
parent 8739
0b85ccd62409
child 9013
18366fa39fe0
equal deleted inserted replaced
8884:35fe0be5277b 8885:1832e44a9889
977 MutexLocker ml(RetData_lock); 977 MutexLocker ml(RetData_lock);
978 978
979 // ProfileData is essentially a wrapper around a derived oop, so we 979 // ProfileData is essentially a wrapper around a derived oop, so we
980 // need to take the lock before making any ProfileData structures. 980 // need to take the lock before making any ProfileData structures.
981 ProfileData* data = h_mdo->data_at(h_mdo->dp_to_di(fr.interpreter_frame_mdp())); 981 ProfileData* data = h_mdo->data_at(h_mdo->dp_to_di(fr.interpreter_frame_mdp()));
982 guarantee(data != NULL, "profile data must be valid");
982 RetData* rdata = data->as_RetData(); 983 RetData* rdata = data->as_RetData();
983 address new_mdp = rdata->fixup_ret(return_bci, h_mdo); 984 address new_mdp = rdata->fixup_ret(return_bci, h_mdo);
984 fr.interpreter_frame_set_mdp(new_mdp); 985 fr.interpreter_frame_set_mdp(new_mdp);
985 IRT_END 986 IRT_END
986 987

mercurial