src/cpu/x86/vm/frame_x86.inline.hpp

changeset 1572
97125851f396
parent 1014
0fbdb4381b99
child 1635
ba263cfb7611
     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  }

mercurial