1620 // interpreter_frame_sender_sp interpreter_frame_sender_sp is |
1620 // interpreter_frame_sender_sp interpreter_frame_sender_sp is |
1621 // the original sp of the caller (the unextended_sp) and |
1621 // the original sp of the caller (the unextended_sp) and |
1622 // sender_sp is fp+16 XXX |
1622 // sender_sp is fp+16 XXX |
1623 intptr_t* locals = interpreter_frame->sender_sp() + max_locals - 1; |
1623 intptr_t* locals = interpreter_frame->sender_sp() + max_locals - 1; |
1624 |
1624 |
|
1625 #ifdef ASSERT |
|
1626 if (caller->is_interpreted_frame()) { |
|
1627 assert(locals < caller->fp() + frame::interpreter_frame_initial_sp_offset, "bad placement"); |
|
1628 } |
|
1629 #endif |
|
1630 |
1625 interpreter_frame->interpreter_frame_set_locals(locals); |
1631 interpreter_frame->interpreter_frame_set_locals(locals); |
1626 BasicObjectLock* montop = interpreter_frame->interpreter_frame_monitor_begin(); |
1632 BasicObjectLock* montop = interpreter_frame->interpreter_frame_monitor_begin(); |
1627 BasicObjectLock* monbot = montop - moncount; |
1633 BasicObjectLock* monbot = montop - moncount; |
1628 interpreter_frame->interpreter_frame_set_monitor_end(monbot); |
1634 interpreter_frame->interpreter_frame_set_monitor_end(monbot); |
1629 |
1635 |