src/cpu/x86/vm/templateInterpreter_x86_64.cpp

changeset 3238
b20d64f83668
parent 2978
d83ac25d0304
child 3372
dca455dea3a7
child 3391
069ab3f976d3
equal deleted inserted replaced
3237:42783d1414b2 3238:b20d64f83668
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

mercurial