Mercurial > hg > truffle
diff src/share/vm/runtime/frame.hpp @ 4970:33df1aeaebbf
Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 27 Feb 2012 13:10:13 +0100 |
parents | 3dbcd1013cc8 5dbed2f542ff |
children | 957c266d8bc5 |
line wrap: on
line diff
--- a/src/share/vm/runtime/frame.hpp Fri Feb 24 18:30:42 2012 -0800 +++ b/src/share/vm/runtime/frame.hpp Mon Feb 27 13:10:13 2012 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -222,6 +222,15 @@ // returns the stack pointer of the calling frame intptr_t* sender_sp() const; + // Returns the real 'frame pointer' for the current frame. + // This is the value expected by the platform ABI when it defines a + // frame pointer register. It may differ from the effective value of + // the FP register when that register is used in the JVM for other + // purposes (like compiled frames on some platforms). + // On other platforms, it is defined so that the stack area used by + // this frame goes from real_fp() to sp(). + intptr_t* real_fp() const; + // Deoptimization info, if needed (platform dependent). // Stored in the initial_info field of the unroll info, to be used by // the platform dependent deoptimization blobs. @@ -487,7 +496,7 @@ }; -#ifdef ASSERT +#ifndef PRODUCT // A simple class to describe a location on the stack class FrameValue VALUE_OBJ_CLASS_SPEC { public: @@ -517,7 +526,9 @@ // Used by frame functions to describe locations. void describe(int owner, intptr_t* location, const char* description, int priority = 0); +#ifdef ASSERT void validate(); +#endif void print(JavaThread* thread); };