comparison src/cpu/x86/vm/templateInterpreter_x86_32.cpp @ 4042:b20d64f83668

7090904: JSR 292: JRuby junit test crashes in PSScavengeRootsClosure::do_oop Reviewed-by: kvn, never, jrose
author twisti
date Mon, 24 Oct 2011 07:53:17 -0700
parents d83ac25d0304
children dca455dea3a7 069ab3f976d3
comparison
equal deleted inserted replaced
4041:42783d1414b2 4042: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