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 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
661 | 661 |
662 // Compute the safepoint information. | 662 // Compute the safepoint information. |
663 unsigned stack_slots = 0; | 663 unsigned stack_slots = 0; |
664 SafepointEntry safepoint_entry; | 664 SafepointEntry safepoint_entry; |
665 Code* code = StackFrame::GetSafepointData( | 665 Code* code = StackFrame::GetSafepointData( |
666 isolate(), pc(), &safepoint_entry, &stack_slots); | 666 isolate(), pc(), &safepoint_entry, &stack_slots); |
667 unsigned slot_space = stack_slots * kPointerSize; | 667 unsigned slot_space = stack_slots * kPointerSize; |
668 | 668 |
669 // Determine the fixed header and spill slot area size. | 669 // Determine the fixed header and spill slot area size. |
670 int frame_header_size = StandardFrameConstants::kFixedFrameSizeFromFp; | 670 int frame_header_size = StandardFrameConstants::kFixedFrameSizeFromFp; |
671 Object* marker = Memory::Object_at(fp() - kPointerSize); | 671 Object* marker = |
| 672 Memory::Object_at(fp() + CommonFrameConstants::kContextOrFrameTypeOffset); |
672 if (marker->IsSmi()) { | 673 if (marker->IsSmi()) { |
673 StackFrame::Type candidate = | 674 StackFrame::Type candidate = |
674 static_cast<StackFrame::Type>(Smi::cast(marker)->value()); | 675 static_cast<StackFrame::Type>(Smi::cast(marker)->value()); |
675 switch (candidate) { | 676 switch (candidate) { |
676 case ENTRY: | 677 case ENTRY: |
677 case ENTRY_CONSTRUCT: | 678 case ENTRY_CONSTRUCT: |
678 case EXIT: | 679 case EXIT: |
679 case STUB_FAILURE_TRAMPOLINE: | 680 case STUB_FAILURE_TRAMPOLINE: |
680 case ARGUMENTS_ADAPTOR: | 681 case ARGUMENTS_ADAPTOR: |
681 case STUB: | 682 case STUB: |
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1711 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1712 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
1712 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1713 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
1713 list.Add(frame, zone); | 1714 list.Add(frame, zone); |
1714 } | 1715 } |
1715 return list.ToVector(); | 1716 return list.ToVector(); |
1716 } | 1717 } |
1717 | 1718 |
1718 | 1719 |
1719 } // namespace internal | 1720 } // namespace internal |
1720 } // namespace v8 | 1721 } // namespace v8 |
OLD | NEW |