Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(109)

Side by Side Diff: src/frames.cc

Issue 1287383003: Re-reland: Remove register index/code indirection (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Updated to ToT Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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.h" 9 #include "src/ast.h"
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
11 #include "src/deoptimizer.h" 11 #include "src/deoptimizer.h"
12 #include "src/frames-inl.h" 12 #include "src/frames-inl.h"
13 #include "src/full-codegen/full-codegen.h" 13 #include "src/full-codegen/full-codegen.h"
14 #include "src/register-configuration.h"
14 #include "src/safepoint-table.h" 15 #include "src/safepoint-table.h"
15 #include "src/scopeinfo.h" 16 #include "src/scopeinfo.h"
16 #include "src/string-stream.h" 17 #include "src/string-stream.h"
17 #include "src/vm-state-inl.h" 18 #include "src/vm-state-inl.h"
18 19
19 namespace v8 { 20 namespace v8 {
20 namespace internal { 21 namespace internal {
21 22
22 23
23 ReturnAddressLocationResolver 24 ReturnAddressLocationResolver
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 if (safepoint_entry.argument_count() > 0) { 637 if (safepoint_entry.argument_count() > 0) {
637 v->VisitPointers(parameters_base, 638 v->VisitPointers(parameters_base,
638 parameters_base + safepoint_entry.argument_count()); 639 parameters_base + safepoint_entry.argument_count());
639 parameters_base += safepoint_entry.argument_count(); 640 parameters_base += safepoint_entry.argument_count();
640 } 641 }
641 642
642 // Skip saved double registers. 643 // Skip saved double registers.
643 if (safepoint_entry.has_doubles()) { 644 if (safepoint_entry.has_doubles()) {
644 // Number of doubles not known at snapshot time. 645 // Number of doubles not known at snapshot time.
645 DCHECK(!isolate()->serializer_enabled()); 646 DCHECK(!isolate()->serializer_enabled());
646 parameters_base += DoubleRegister::NumAllocatableRegisters() * 647 parameters_base += RegisterConfiguration::ArchDefault()
647 kDoubleSize / kPointerSize; 648 ->num_allocatable_double_registers() *
649 kDoubleSize / kPointerSize;
648 } 650 }
649 651
650 // Visit the registers that contain pointers if any. 652 // Visit the registers that contain pointers if any.
651 if (safepoint_entry.HasRegisters()) { 653 if (safepoint_entry.HasRegisters()) {
652 for (int i = kNumSafepointRegisters - 1; i >=0; i--) { 654 for (int i = kNumSafepointRegisters - 1; i >=0; i--) {
653 if (safepoint_entry.HasRegisterAt(i)) { 655 if (safepoint_entry.HasRegisterAt(i)) {
654 int reg_stack_index = MacroAssembler::SafepointRegisterStackIndex(i); 656 int reg_stack_index = MacroAssembler::SafepointRegisterStackIndex(i);
655 v->VisitPointer(parameters_base + reg_stack_index); 657 v->VisitPointer(parameters_base + reg_stack_index);
656 } 658 }
657 } 659 }
(...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after
1556 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { 1558 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) {
1557 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); 1559 StackFrame* frame = AllocateFrameCopy(it.frame(), zone);
1558 list.Add(frame, zone); 1560 list.Add(frame, zone);
1559 } 1561 }
1560 return list.ToVector(); 1562 return list.ToVector();
1561 } 1563 }
1562 1564
1563 1565
1564 } // namespace internal 1566 } // namespace internal
1565 } // namespace v8 1567 } // namespace v8
OLDNEW
« src/arm/deoptimizer-arm.cc ('K') | « src/deoptimizer.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698