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 |