Mercurial > hg > truffle
comparison 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 |
comparison
equal
deleted
inserted
replaced
4703:2cfb7fb2dce7 | 4970:33df1aeaebbf |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
220 intptr_t* unextended_sp() const; | 220 intptr_t* unextended_sp() const; |
221 | 221 |
222 // returns the stack pointer of the calling frame | 222 // returns the stack pointer of the calling frame |
223 intptr_t* sender_sp() const; | 223 intptr_t* sender_sp() const; |
224 | 224 |
225 // Returns the real 'frame pointer' for the current frame. | |
226 // This is the value expected by the platform ABI when it defines a | |
227 // frame pointer register. It may differ from the effective value of | |
228 // the FP register when that register is used in the JVM for other | |
229 // purposes (like compiled frames on some platforms). | |
230 // On other platforms, it is defined so that the stack area used by | |
231 // this frame goes from real_fp() to sp(). | |
232 intptr_t* real_fp() const; | |
233 | |
225 // Deoptimization info, if needed (platform dependent). | 234 // Deoptimization info, if needed (platform dependent). |
226 // Stored in the initial_info field of the unroll info, to be used by | 235 // Stored in the initial_info field of the unroll info, to be used by |
227 // the platform dependent deoptimization blobs. | 236 // the platform dependent deoptimization blobs. |
228 intptr_t *initial_deoptimization_info(); | 237 intptr_t *initial_deoptimization_info(); |
229 | 238 |
485 # include "frame_ppc.hpp" | 494 # include "frame_ppc.hpp" |
486 #endif | 495 #endif |
487 | 496 |
488 }; | 497 }; |
489 | 498 |
490 #ifdef ASSERT | 499 #ifndef PRODUCT |
491 // A simple class to describe a location on the stack | 500 // A simple class to describe a location on the stack |
492 class FrameValue VALUE_OBJ_CLASS_SPEC { | 501 class FrameValue VALUE_OBJ_CLASS_SPEC { |
493 public: | 502 public: |
494 intptr_t* location; | 503 intptr_t* location; |
495 char* description; | 504 char* description; |
515 | 524 |
516 public: | 525 public: |
517 // Used by frame functions to describe locations. | 526 // Used by frame functions to describe locations. |
518 void describe(int owner, intptr_t* location, const char* description, int priority = 0); | 527 void describe(int owner, intptr_t* location, const char* description, int priority = 0); |
519 | 528 |
529 #ifdef ASSERT | |
520 void validate(); | 530 void validate(); |
531 #endif | |
521 void print(JavaThread* thread); | 532 void print(JavaThread* thread); |
522 }; | 533 }; |
523 | 534 |
524 #endif | 535 #endif |
525 | 536 |