diff -r ae8f909e5fc7 -r 0c5b3cf3c1f5 src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Apr 29 17:53:58 2010 -0700 +++ b/src/cpu/zero/vm/cppInterpreter_zero.cpp Fri Apr 30 04:27:25 2010 -0700 @@ -833,7 +833,7 @@ int callee_extra_locals = callee_locals - callee_param_count; if (interpreter_frame) { - intptr_t *locals = interpreter_frame->sp() + method->max_locals(); + intptr_t *locals = interpreter_frame->fp() + method->max_locals(); interpreterState istate = interpreter_frame->get_interpreterState(); intptr_t *monitor_base = (intptr_t*) istate; intptr_t *stack_base = monitor_base - monitor_words;