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 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 if (safepoint_entry.argument_count() > 0) { | 721 if (safepoint_entry.argument_count() > 0) { |
722 v->VisitPointers(parameters_base, | 722 v->VisitPointers(parameters_base, |
723 parameters_base + safepoint_entry.argument_count()); | 723 parameters_base + safepoint_entry.argument_count()); |
724 parameters_base += safepoint_entry.argument_count(); | 724 parameters_base += safepoint_entry.argument_count(); |
725 } | 725 } |
726 | 726 |
727 // Skip saved double registers. | 727 // Skip saved double registers. |
728 if (safepoint_entry.has_doubles()) { | 728 if (safepoint_entry.has_doubles()) { |
729 // Number of doubles not known at snapshot time. | 729 // Number of doubles not known at snapshot time. |
730 DCHECK(!isolate()->serializer_enabled()); | 730 DCHECK(!isolate()->serializer_enabled()); |
731 parameters_base += | 731 parameters_base += RegisterConfiguration::Crankshaft() |
732 RegisterConfiguration::ArchDefault(RegisterConfiguration::CRANKSHAFT) | 732 ->num_allocatable_double_registers() * |
733 ->num_allocatable_double_registers() * | 733 kDoubleSize / kPointerSize; |
734 kDoubleSize / kPointerSize; | |
735 } | 734 } |
736 | 735 |
737 // Visit the registers that contain pointers if any. | 736 // Visit the registers that contain pointers if any. |
738 if (safepoint_entry.HasRegisters()) { | 737 if (safepoint_entry.HasRegisters()) { |
739 for (int i = kNumSafepointRegisters - 1; i >=0; i--) { | 738 for (int i = kNumSafepointRegisters - 1; i >=0; i--) { |
740 if (safepoint_entry.HasRegisterAt(i)) { | 739 if (safepoint_entry.HasRegisterAt(i)) { |
741 int reg_stack_index = MacroAssembler::SafepointRegisterStackIndex(i); | 740 int reg_stack_index = MacroAssembler::SafepointRegisterStackIndex(i); |
742 v->VisitPointer(parameters_base + reg_stack_index); | 741 v->VisitPointer(parameters_base + reg_stack_index); |
743 } | 742 } |
744 } | 743 } |
(...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1797 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1796 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
1798 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1797 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
1799 list.Add(frame, zone); | 1798 list.Add(frame, zone); |
1800 } | 1799 } |
1801 return list.ToVector(); | 1800 return list.ToVector(); |
1802 } | 1801 } |
1803 | 1802 |
1804 | 1803 |
1805 } // namespace internal | 1804 } // namespace internal |
1806 } // namespace v8 | 1805 } // namespace v8 |
OLD | NEW |