equal
deleted
inserted
replaced
1031 MutexLocker ml(RetData_lock); |
1031 MutexLocker ml(RetData_lock); |
1032 |
1032 |
1033 // ProfileData is essentially a wrapper around a derived oop, so we |
1033 // ProfileData is essentially a wrapper around a derived oop, so we |
1034 // need to take the lock before making any ProfileData structures. |
1034 // need to take the lock before making any ProfileData structures. |
1035 ProfileData* data = h_mdo->data_at(h_mdo->dp_to_di(fr.interpreter_frame_mdp())); |
1035 ProfileData* data = h_mdo->data_at(h_mdo->dp_to_di(fr.interpreter_frame_mdp())); |
|
1036 guarantee(data != NULL, "profile data must be valid"); |
1036 RetData* rdata = data->as_RetData(); |
1037 RetData* rdata = data->as_RetData(); |
1037 address new_mdp = rdata->fixup_ret(return_bci, h_mdo); |
1038 address new_mdp = rdata->fixup_ret(return_bci, h_mdo); |
1038 fr.interpreter_frame_set_mdp(new_mdp); |
1039 fr.interpreter_frame_set_mdp(new_mdp); |
1039 IRT_END |
1040 IRT_END |
1040 |
1041 |