| 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/machine-operator.h" | 5 #include "src/compiler/machine-operator.h" |
| 6 | 6 |
| 7 #include "src/base/lazy-instance.h" | 7 #include "src/base/lazy-instance.h" |
| 8 #include "src/compiler/opcodes.h" | 8 #include "src/compiler/opcodes.h" |
| 9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
| 10 | 10 |
| (...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 : Operator(IrOpcode::kDebugBreak, Operator::kNoThrow, "DebugBreak", 0, | 532 : Operator(IrOpcode::kDebugBreak, Operator::kNoThrow, "DebugBreak", 0, |
| 533 0, 0, 0, 0, 0) {} | 533 0, 0, 0, 0, 0) {} |
| 534 }; | 534 }; |
| 535 DebugBreakOperator kDebugBreak; | 535 DebugBreakOperator kDebugBreak; |
| 536 }; | 536 }; |
| 537 | 537 |
| 538 | 538 |
| 539 static base::LazyInstance<MachineOperatorGlobalCache>::type kCache = | 539 static base::LazyInstance<MachineOperatorGlobalCache>::type kCache = |
| 540 LAZY_INSTANCE_INITIALIZER; | 540 LAZY_INSTANCE_INITIALIZER; |
| 541 | 541 |
| 542 | 542 MachineOperatorBuilder::MachineOperatorBuilder( |
| 543 MachineOperatorBuilder::MachineOperatorBuilder(Zone* zone, | 543 Zone* zone, MachineRepresentation word, Flags flags, |
| 544 MachineRepresentation word, | 544 AlignmentRequirements alignmentRequirements) |
| 545 Flags flags) | 545 : cache_(kCache.Get()), |
| 546 : cache_(kCache.Get()), word_(word), flags_(flags) { | 546 word_(word), |
| 547 flags_(flags), |
| 548 alignment_requirements_(alignmentRequirements) { |
| 547 DCHECK(word == MachineRepresentation::kWord32 || | 549 DCHECK(word == MachineRepresentation::kWord32 || |
| 548 word == MachineRepresentation::kWord64); | 550 word == MachineRepresentation::kWord64); |
| 549 } | 551 } |
| 550 | 552 |
| 551 | 553 |
| 552 #define PURE(Name, properties, value_input_count, control_input_count, \ | 554 #define PURE(Name, properties, value_input_count, control_input_count, \ |
| 553 output_count) \ | 555 output_count) \ |
| 554 const Operator* MachineOperatorBuilder::Name() { return &cache_.k##Name; } | 556 const Operator* MachineOperatorBuilder::Name() { return &cache_.k##Name; } |
| 555 PURE_OP_LIST(PURE) | 557 PURE_OP_LIST(PURE) |
| 556 #undef PURE | 558 #undef PURE |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 676 } | 678 } |
| 677 ATOMIC_REPRESENTATION_LIST(STORE) | 679 ATOMIC_REPRESENTATION_LIST(STORE) |
| 678 #undef STORE | 680 #undef STORE |
| 679 UNREACHABLE(); | 681 UNREACHABLE(); |
| 680 return nullptr; | 682 return nullptr; |
| 681 } | 683 } |
| 682 | 684 |
| 683 } // namespace compiler | 685 } // namespace compiler |
| 684 } // namespace internal | 686 } // namespace internal |
| 685 } // namespace v8 | 687 } // namespace v8 |
| OLD | NEW |