1.1 --- a/src/cpu/x86/vm/frame_x86.inline.hpp Mon Jan 04 15:21:09 2010 -0800 1.2 +++ b/src/cpu/x86/vm/frame_x86.inline.hpp Tue Jan 05 13:05:58 2010 +0100 1.3 @@ -225,11 +225,12 @@ 1.4 // top of expression stack 1.5 inline intptr_t* frame::interpreter_frame_tos_address() const { 1.6 intptr_t* last_sp = interpreter_frame_last_sp(); 1.7 - if (last_sp == NULL ) { 1.8 + if (last_sp == NULL) { 1.9 return sp(); 1.10 } else { 1.11 - // sp() may have been extended by an adapter 1.12 - assert(last_sp < fp() && last_sp >= sp(), "bad tos"); 1.13 + // sp() may have been extended or shrunk by an adapter. At least 1.14 + // check that we don't fall behind the legal region. 1.15 + assert(last_sp < (intptr_t*) interpreter_frame_monitor_begin(), "bad tos"); 1.16 return last_sp; 1.17 } 1.18 }