src/share/vm/runtime/frame.hpp

changeset 3467
0a10d80352d5
parent 3451
5dbed2f542ff
child 3969
1d7922586cf6
     1.1 --- a/src/share/vm/runtime/frame.hpp	Thu Jan 26 14:14:55 2012 -0800
     1.2 +++ b/src/share/vm/runtime/frame.hpp	Fri Jan 27 09:04:57 2012 +0100
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -221,6 +221,15 @@
    1.11    // returns the stack pointer of the calling frame
    1.12    intptr_t* sender_sp() const;
    1.13  
    1.14 +  // Returns the real 'frame pointer' for the current frame.
    1.15 +  // This is the value expected by the platform ABI when it defines a
    1.16 +  // frame pointer register. It may differ from the effective value of
    1.17 +  // the FP register when that register is used in the JVM for other
    1.18 +  // purposes (like compiled frames on some platforms).
    1.19 +  // On other platforms, it is defined so that the stack area used by
    1.20 +  // this frame goes from real_fp() to sp().
    1.21 +  intptr_t* real_fp() const;
    1.22 +
    1.23    // Deoptimization info, if needed (platform dependent).
    1.24    // Stored in the initial_info field of the unroll info, to be used by
    1.25    // the platform dependent deoptimization blobs.
    1.26 @@ -485,7 +494,7 @@
    1.27  
    1.28  };
    1.29  
    1.30 -#ifdef ASSERT
    1.31 +#ifndef PRODUCT
    1.32  // A simple class to describe a location on the stack
    1.33  class FrameValue VALUE_OBJ_CLASS_SPEC {
    1.34   public:
    1.35 @@ -515,7 +524,9 @@
    1.36    // Used by frame functions to describe locations.
    1.37    void describe(int owner, intptr_t* location, const char* description, int priority = 0);
    1.38  
    1.39 +#ifdef ASSERT
    1.40    void validate();
    1.41 +#endif
    1.42    void print(JavaThread* thread);
    1.43  };
    1.44  

mercurial