src/cpu/zero/vm/frame_zero.cpp

changeset 1860
0c5b3cf3c1f5
parent 1513
8e7adf982378
child 1867
6cfbdb113e52
     1.1 --- a/src/cpu/zero/vm/frame_zero.cpp	Thu Apr 29 17:53:58 2010 -0700
     1.2 +++ b/src/cpu/zero/vm/frame_zero.cpp	Fri Apr 30 04:27:25 2010 -0700
     1.3 @@ -1,6 +1,6 @@
     1.4  /*
     1.5   * Copyright 2003-2007 Sun Microsystems, Inc.  All Rights Reserved.
     1.6 - * Copyright 2007, 2008, 2009 Red Hat, Inc.
     1.7 + * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
     1.8   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.9   *
    1.10   * This code is free software; you can redistribute it and/or modify it
    1.11 @@ -44,14 +44,14 @@
    1.12           "sender should be next Java frame");
    1.13    map->clear();
    1.14    assert(map->include_argument_oops(), "should be set by clear");
    1.15 -  return frame(sender_sp(), sp() + 1);
    1.16 +  return frame(zeroframe()->next(), sender_sp());
    1.17  }
    1.18  
    1.19  frame frame::sender_for_nonentry_frame(RegisterMap *map) const {
    1.20    assert(zeroframe()->is_interpreter_frame() ||
    1.21           zeroframe()->is_shark_frame() ||
    1.22           zeroframe()->is_fake_stub_frame(), "wrong type of frame");
    1.23 -  return frame(sender_sp(), sp() + 1);
    1.24 +  return frame(zeroframe()->next(), sender_sp());
    1.25  }
    1.26  
    1.27  frame frame::sender(RegisterMap* map) const {
    1.28 @@ -172,8 +172,8 @@
    1.29    char *valuebuf = buf + buflen;
    1.30  
    1.31    // Print each word of the frame
    1.32 -  for (intptr_t *addr = fp(); addr <= sp(); addr++) {
    1.33 -    int offset = sp() - addr;
    1.34 +  for (intptr_t *addr = sp(); addr <= fp(); addr++) {
    1.35 +    int offset = fp() - addr;
    1.36  
    1.37      // Fill in default values, then try and improve them
    1.38      snprintf(fieldbuf, buflen, "word[%d]", offset);

mercurial