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_H_ | 5 #ifndef V8_FRAMES_H_ |
6 #define V8_FRAMES_H_ | 6 #define V8_FRAMES_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 #include "src/safepoint-table.h" | 10 #include "src/safepoint-table.h" |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 | 477 |
478 bool is_java_script() const { | 478 bool is_java_script() const { |
479 Type type = this->type(); | 479 Type type = this->type(); |
480 return (type == JAVA_SCRIPT) || (type == OPTIMIZED) || | 480 return (type == JAVA_SCRIPT) || (type == OPTIMIZED) || |
481 (type == INTERPRETED) || (type == BUILTIN); | 481 (type == INTERPRETED) || (type == BUILTIN); |
482 } | 482 } |
483 | 483 |
484 // Accessors. | 484 // Accessors. |
485 Address sp() const { return state_.sp; } | 485 Address sp() const { return state_.sp; } |
486 Address fp() const { return state_.fp; } | 486 Address fp() const { return state_.fp; } |
487 Address callee_pc() const { return *state_.callee_pc_address; } | 487 Address callee_pc() const { |
| 488 return state_.callee_pc_address ? *state_.callee_pc_address : nullptr; |
| 489 } |
488 Address caller_sp() const { return GetCallerStackPointer(); } | 490 Address caller_sp() const { return GetCallerStackPointer(); } |
489 | 491 |
490 // If this frame is optimized and was dynamically aligned return its old | 492 // If this frame is optimized and was dynamically aligned return its old |
491 // unaligned frame pointer. When the frame is deoptimized its FP will shift | 493 // unaligned frame pointer. When the frame is deoptimized its FP will shift |
492 // up one word and become unaligned. | 494 // up one word and become unaligned. |
493 Address UnpaddedFP() const; | 495 Address UnpaddedFP() const; |
494 | 496 |
495 Address pc() const { return *pc_address(); } | 497 Address pc() const { return *pc_address(); } |
496 void set_pc(Address pc) { *pc_address() = pc; } | 498 void set_pc(Address pc) { *pc_address() = pc; } |
497 | 499 |
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1366 | 1368 |
1367 | 1369 |
1368 // Reads all frames on the current stack and copies them into the current | 1370 // Reads all frames on the current stack and copies them into the current |
1369 // zone memory. | 1371 // zone memory. |
1370 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); | 1372 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); |
1371 | 1373 |
1372 } // namespace internal | 1374 } // namespace internal |
1373 } // namespace v8 | 1375 } // namespace v8 |
1374 | 1376 |
1375 #endif // V8_FRAMES_H_ | 1377 #endif // V8_FRAMES_H_ |
OLD | NEW |