equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2014, 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. |
53 # include "interpreterFrame_zero.hpp" |
53 # include "interpreterFrame_zero.hpp" |
54 # include "sharkFrame_zero.hpp" |
54 # include "sharkFrame_zero.hpp" |
55 #endif |
55 #endif |
56 #endif |
56 #endif |
57 |
57 |
58 // This file holds platform-independent bodies of inline functions for frames. |
|
59 |
|
60 // Note: The bcx usually contains the bcp; however during GC it contains the bci |
|
61 // (changed by gc_prologue() and gc_epilogue()) to be Method* position |
|
62 // independent. These accessors make sure the correct value is returned |
|
63 // by testing the range of the bcx value. bcp's are guaranteed to be above |
|
64 // max_method_code_size, since methods are always allocated in OldSpace and |
|
65 // Eden is allocated before OldSpace. |
|
66 // |
|
67 // The bcp is accessed sometimes during GC for ArgumentDescriptors; than |
|
68 // the correct translation has to be performed (was bug). |
|
69 |
|
70 inline bool frame::is_bci(intptr_t bcx) { |
|
71 #ifdef _LP64 |
|
72 return ((uintptr_t) bcx) <= ((uintptr_t) max_method_code_size) ; |
|
73 #else |
|
74 return 0 <= bcx && bcx <= max_method_code_size; |
|
75 #endif |
|
76 } |
|
77 |
|
78 inline bool frame::is_entry_frame() const { |
58 inline bool frame::is_entry_frame() const { |
79 return StubRoutines::returns_to_call_stub(pc()); |
59 return StubRoutines::returns_to_call_stub(pc()); |
80 } |
60 } |
81 |
61 |
82 inline bool frame::is_stub_frame() const { |
62 inline bool frame::is_stub_frame() const { |