OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_FRAMES_INL_H_ | 5 #ifndef V8_FRAMES_INL_H_ |
6 #define V8_FRAMES_INL_H_ | 6 #define V8_FRAMES_INL_H_ |
7 | 7 |
8 #include "src/frames.h" | 8 #include "src/frames.h" |
9 #include "src/isolate.h" | 9 #include "src/isolate.h" |
10 #include "src/v8memory.h" | 10 #include "src/v8memory.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 return KindField::decode(Memory::unsigned_at(address() + offset)); | 87 return KindField::decode(Memory::unsigned_at(address() + offset)); |
88 } | 88 } |
89 | 89 |
90 | 90 |
91 inline unsigned StackHandler::index() const { | 91 inline unsigned StackHandler::index() const { |
92 const int offset = StackHandlerConstants::kStateIntOffset; | 92 const int offset = StackHandlerConstants::kStateIntOffset; |
93 return IndexField::decode(Memory::unsigned_at(address() + offset)); | 93 return IndexField::decode(Memory::unsigned_at(address() + offset)); |
94 } | 94 } |
95 | 95 |
96 | 96 |
97 inline Address StackHandler::frame_pointer() const { | |
98 const int offset = StackHandlerConstants::kFPOffset; | |
99 return Memory::Address_at(address() + offset); | |
100 } | |
101 | |
102 | |
103 inline Object** StackHandler::context_address() const { | 97 inline Object** StackHandler::context_address() const { |
104 const int offset = StackHandlerConstants::kContextOffset; | 98 const int offset = StackHandlerConstants::kContextOffset; |
105 return reinterpret_cast<Object**>(address() + offset); | 99 return reinterpret_cast<Object**>(address() + offset); |
106 } | 100 } |
107 | 101 |
108 | 102 |
109 inline StackFrame::StackFrame(StackFrameIteratorBase* iterator) | 103 inline StackFrame::StackFrame(StackFrameIteratorBase* iterator) |
110 : iterator_(iterator), isolate_(iterator_->isolate()) { | 104 : iterator_(iterator), isolate_(iterator_->isolate()) { |
111 } | 105 } |
112 | 106 |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 inline StackFrame* SafeStackFrameIterator::frame() const { | 326 inline StackFrame* SafeStackFrameIterator::frame() const { |
333 DCHECK(!done()); | 327 DCHECK(!done()); |
334 DCHECK(frame_->is_java_script() || frame_->is_exit()); | 328 DCHECK(frame_->is_java_script() || frame_->is_exit()); |
335 return frame_; | 329 return frame_; |
336 } | 330 } |
337 | 331 |
338 | 332 |
339 } } // namespace v8::internal | 333 } } // namespace v8::internal |
340 | 334 |
341 #endif // V8_FRAMES_INL_H_ | 335 #endif // V8_FRAMES_INL_H_ |
OLD | NEW |