| OLD | NEW |
| 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/instruction-selector-impl.h" | 5 #include "src/compiler/instruction-selector-impl.h" |
| 6 #include "src/compiler/node-matchers.h" | 6 #include "src/compiler/node-matchers.h" |
| 7 #include "src/compiler/node-properties.h" | 7 #include "src/compiler/node-properties.h" |
| 8 | 8 |
| 9 namespace v8 { | 9 namespace v8 { |
| 10 namespace internal { | 10 namespace internal { |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 inputs[input_count++] = g.Label(cont->true_block()); | 363 inputs[input_count++] = g.Label(cont->true_block()); |
| 364 inputs[input_count++] = g.Label(cont->false_block()); | 364 inputs[input_count++] = g.Label(cont->false_block()); |
| 365 } | 365 } |
| 366 | 366 |
| 367 outputs[output_count++] = g.DefineSameAsFirst(node); | 367 outputs[output_count++] = g.DefineSameAsFirst(node); |
| 368 if (cont->IsSet()) { | 368 if (cont->IsSet()) { |
| 369 // TODO(turbofan): Use byte register here. | 369 // TODO(turbofan): Use byte register here. |
| 370 outputs[output_count++] = g.DefineAsRegister(cont->result()); | 370 outputs[output_count++] = g.DefineAsRegister(cont->result()); |
| 371 } | 371 } |
| 372 | 372 |
| 373 DCHECK_NE(0, input_count); | 373 DCHECK_NE(0u, input_count); |
| 374 DCHECK_NE(0, output_count); | 374 DCHECK_NE(0u, output_count); |
| 375 DCHECK_GE(arraysize(inputs), input_count); | 375 DCHECK_GE(arraysize(inputs), input_count); |
| 376 DCHECK_GE(arraysize(outputs), output_count); | 376 DCHECK_GE(arraysize(outputs), output_count); |
| 377 | 377 |
| 378 Instruction* instr = selector->Emit(cont->Encode(opcode), output_count, | 378 Instruction* instr = selector->Emit(cont->Encode(opcode), output_count, |
| 379 outputs, input_count, inputs); | 379 outputs, input_count, inputs); |
| 380 if (cont->IsBranch()) instr->MarkAsControl(); | 380 if (cont->IsBranch()) instr->MarkAsControl(); |
| 381 } | 381 } |
| 382 | 382 |
| 383 | 383 |
| 384 // Shared routine for multiple binary operations. | 384 // Shared routine for multiple binary operations. |
| (...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1008 MachineOperatorBuilder::kFloat64Ceil | | 1008 MachineOperatorBuilder::kFloat64Ceil | |
| 1009 MachineOperatorBuilder::kFloat64RoundTruncate | | 1009 MachineOperatorBuilder::kFloat64RoundTruncate | |
| 1010 MachineOperatorBuilder::kWord32ShiftIsSafe; | 1010 MachineOperatorBuilder::kWord32ShiftIsSafe; |
| 1011 } | 1011 } |
| 1012 return MachineOperatorBuilder::Flag::kNoFlags; | 1012 return MachineOperatorBuilder::Flag::kNoFlags; |
| 1013 } | 1013 } |
| 1014 | 1014 |
| 1015 } // namespace compiler | 1015 } // namespace compiler |
| 1016 } // namespace internal | 1016 } // namespace internal |
| 1017 } // namespace v8 | 1017 } // namespace v8 |
| OLD | NEW |