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

Side by Side Diff: src/compiler/instruction.cc

Issue 1112213005: [turbofan] resolve all references before populating reference maps (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « src/compiler/instruction.h ('k') | src/compiler/register-allocator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/compiler/common-operator.h" 5 #include "src/compiler/common-operator.h"
6 #include "src/compiler/graph.h" 6 #include "src/compiler/graph.h"
7 #include "src/compiler/instruction.h" 7 #include "src/compiler/instruction.h"
8 #include "src/compiler/schedule.h" 8 #include "src/compiler/schedule.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 if (move->IsEliminated()) continue; 203 if (move->IsEliminated()) continue;
204 if (!first) os << " "; 204 if (!first) os << " ";
205 first = false; 205 first = false;
206 PrintableMoveOperands pmo = {printable.register_configuration_, move}; 206 PrintableMoveOperands pmo = {printable.register_configuration_, move};
207 os << pmo; 207 os << pmo;
208 } 208 }
209 return os; 209 return os;
210 } 210 }
211 211
212 212
213 void ReferenceMap::RecordReference(const InstructionOperand& op) { 213 void ReferenceMap::RecordReference(const AllocatedOperand& op) {
214 // Do not record arguments as pointers. 214 // Do not record arguments as pointers.
215 if (op.IsStackSlot() && StackSlotOperand::cast(op).index() < 0) return; 215 if (op.IsStackSlot() && StackSlotOperand::cast(op).index() < 0) return;
216 DCHECK(!op.IsDoubleRegister() && !op.IsDoubleStackSlot()); 216 DCHECK(!op.IsDoubleRegister() && !op.IsDoubleStackSlot());
217 reference_operands_.push_back(op); 217 reference_operands_.push_back(op);
218 } 218 }
219 219
220 220
221 std::ostream& operator<<(std::ostream& os, const ReferenceMap& pm) { 221 std::ostream& operator<<(std::ostream& os, const ReferenceMap& pm) {
222 os << "{"; 222 os << "{";
223 bool first = true; 223 bool first = true;
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 os << " B" << succ.ToInt(); 797 os << " B" << succ.ToInt();
798 } 798 }
799 os << "\n"; 799 os << "\n";
800 } 800 }
801 return os; 801 return os;
802 } 802 }
803 803
804 } // namespace compiler 804 } // namespace compiler
805 } // namespace internal 805 } // namespace internal
806 } // namespace v8 806 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/instruction.h ('k') | src/compiler/register-allocator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698