src/cpu/x86/vm/templateInterpreter_x86_32.cpp

changeset 3238
b20d64f83668
parent 2978
d83ac25d0304
child 3372
dca455dea3a7
child 3391
069ab3f976d3
equal deleted inserted replaced
3237:42783d1414b2 3238:b20d64f83668
1607 // NOTE the difference in using sender_sp and interpreter_frame_sender_sp 1607 // NOTE the difference in using sender_sp and interpreter_frame_sender_sp
1608 // interpreter_frame_sender_sp is the original sp of the caller (the unextended_sp) 1608 // interpreter_frame_sender_sp is the original sp of the caller (the unextended_sp)
1609 // and sender_sp is fp+8 1609 // and sender_sp is fp+8
1610 intptr_t* locals = interpreter_frame->sender_sp() + max_locals - 1; 1610 intptr_t* locals = interpreter_frame->sender_sp() + max_locals - 1;
1611 1611
1612 #ifdef ASSERT
1613 if (caller->is_interpreted_frame()) {
1614 assert(locals < caller->fp() + frame::interpreter_frame_initial_sp_offset, "bad placement");
1615 }
1616 #endif
1617
1612 interpreter_frame->interpreter_frame_set_locals(locals); 1618 interpreter_frame->interpreter_frame_set_locals(locals);
1613 BasicObjectLock* montop = interpreter_frame->interpreter_frame_monitor_begin(); 1619 BasicObjectLock* montop = interpreter_frame->interpreter_frame_monitor_begin();
1614 BasicObjectLock* monbot = montop - moncount; 1620 BasicObjectLock* monbot = montop - moncount;
1615 interpreter_frame->interpreter_frame_set_monitor_end(monbot); 1621 interpreter_frame->interpreter_frame_set_monitor_end(monbot);
1616 1622

mercurial