Mercurial > hg > truffle
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 |