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 #include "src/frames.h" | 5 #include "src/frames.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/ast/ast.h" | 9 #include "src/ast/ast.h" |
10 #include "src/ast/scopeinfo.h" | 10 #include "src/ast/scopeinfo.h" |
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 #endif | 484 #endif |
485 | 485 |
486 | 486 |
487 StackFrame::Type StackFrame::GetCallerState(State* state) const { | 487 StackFrame::Type StackFrame::GetCallerState(State* state) const { |
488 ComputeCallerState(state); | 488 ComputeCallerState(state); |
489 return ComputeType(iterator_, state); | 489 return ComputeType(iterator_, state); |
490 } | 490 } |
491 | 491 |
492 | 492 |
493 Address StackFrame::UnpaddedFP() const { | 493 Address StackFrame::UnpaddedFP() const { |
494 #if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X87 | |
495 if (!is_optimized()) return fp(); | |
496 int32_t alignment_state = Memory::int32_at( | |
497 fp() + JavaScriptFrameConstants::kDynamicAlignmentStateOffset); | |
498 | |
499 return (alignment_state == kAlignmentPaddingPushed) ? | |
500 (fp() + kPointerSize) : fp(); | |
501 #else | |
502 return fp(); | 494 return fp(); |
503 #endif | |
504 } | 495 } |
505 | 496 |
506 | 497 |
507 Code* EntryFrame::unchecked_code() const { | 498 Code* EntryFrame::unchecked_code() const { |
508 return isolate()->heap()->js_entry_code(); | 499 return isolate()->heap()->js_entry_code(); |
509 } | 500 } |
510 | 501 |
511 | 502 |
512 void EntryFrame::ComputeCallerState(State* state) const { | 503 void EntryFrame::ComputeCallerState(State* state) const { |
513 GetCallerState(state); | 504 GetCallerState(state); |
(...skipping 1144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1658 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1649 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
1659 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1650 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
1660 list.Add(frame, zone); | 1651 list.Add(frame, zone); |
1661 } | 1652 } |
1662 return list.ToVector(); | 1653 return list.ToVector(); |
1663 } | 1654 } |
1664 | 1655 |
1665 | 1656 |
1666 } // namespace internal | 1657 } // namespace internal |
1667 } // namespace v8 | 1658 } // namespace v8 |
OLD | NEW |