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/common-operator.h" | 5 #include "src/compiler/common-operator.h" |
6 | 6 |
7 #include "src/assembler.h" | 7 #include "src/assembler.h" |
8 #include "src/base/lazy-instance.h" | 8 #include "src/base/lazy-instance.h" |
9 #include "src/compiler/linkage.h" | 9 #include "src/compiler/linkage.h" |
10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" |
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 const Operator* CommonOperatorBuilder::Int64Constant(int64_t value) { | 566 const Operator* CommonOperatorBuilder::Int64Constant(int64_t value) { |
567 return new (zone()) Operator1<int64_t>( // -- | 567 return new (zone()) Operator1<int64_t>( // -- |
568 IrOpcode::kInt64Constant, Operator::kPure, // opcode | 568 IrOpcode::kInt64Constant, Operator::kPure, // opcode |
569 "Int64Constant", // name | 569 "Int64Constant", // name |
570 0, 0, 0, 1, 0, 0, // counts | 570 0, 0, 0, 1, 0, 0, // counts |
571 value); // parameter | 571 value); // parameter |
572 } | 572 } |
573 | 573 |
574 | 574 |
575 const Operator* CommonOperatorBuilder::Float32Constant(volatile float value) { | 575 const Operator* CommonOperatorBuilder::Float32Constant(volatile float value) { |
576 return new (zone()) | 576 return new (zone()) Operator1<float>( // -- |
577 Operator1<float, base::bit_equal_to<float>, base::bit_hash<float>>( // -- | 577 IrOpcode::kFloat32Constant, Operator::kPure, // opcode |
578 IrOpcode::kFloat32Constant, Operator::kPure, // opcode | 578 "Float32Constant", // name |
579 "Float32Constant", // name | 579 0, 0, 0, 1, 0, 0, // counts |
580 0, 0, 0, 1, 0, 0, // counts | 580 value); // parameter |
581 value); // parameter | |
582 } | 581 } |
583 | 582 |
584 | 583 |
585 const Operator* CommonOperatorBuilder::Float64Constant(volatile double value) { | 584 const Operator* CommonOperatorBuilder::Float64Constant(volatile double value) { |
586 return new (zone()) Operator1<double, base::bit_equal_to<double>, | 585 return new (zone()) Operator1<double>( // -- |
587 base::bit_hash<double>>( // -- | 586 IrOpcode::kFloat64Constant, Operator::kPure, // opcode |
588 IrOpcode::kFloat64Constant, Operator::kPure, // opcode | 587 "Float64Constant", // name |
589 "Float64Constant", // name | 588 0, 0, 0, 1, 0, 0, // counts |
590 0, 0, 0, 1, 0, 0, // counts | 589 value); // parameter |
591 value); // parameter | |
592 } | 590 } |
593 | 591 |
594 | 592 |
595 const Operator* CommonOperatorBuilder::ExternalConstant( | 593 const Operator* CommonOperatorBuilder::ExternalConstant( |
596 const ExternalReference& value) { | 594 const ExternalReference& value) { |
597 return new (zone()) Operator1<ExternalReference>( // -- | 595 return new (zone()) Operator1<ExternalReference>( // -- |
598 IrOpcode::kExternalConstant, Operator::kPure, // opcode | 596 IrOpcode::kExternalConstant, Operator::kPure, // opcode |
599 "ExternalConstant", // name | 597 "ExternalConstant", // name |
600 0, 0, 0, 1, 0, 0, // counts | 598 0, 0, 0, 1, 0, 0, // counts |
601 value); // parameter | 599 value); // parameter |
602 } | 600 } |
603 | 601 |
604 | 602 |
605 const Operator* CommonOperatorBuilder::NumberConstant(volatile double value) { | 603 const Operator* CommonOperatorBuilder::NumberConstant(volatile double value) { |
606 return new (zone()) Operator1<double, base::bit_equal_to<double>, | 604 return new (zone()) Operator1<double>( // -- |
607 base::bit_hash<double>>( // -- | 605 IrOpcode::kNumberConstant, Operator::kPure, // opcode |
608 IrOpcode::kNumberConstant, Operator::kPure, // opcode | 606 "NumberConstant", // name |
609 "NumberConstant", // name | 607 0, 0, 0, 1, 0, 0, // counts |
610 0, 0, 0, 1, 0, 0, // counts | 608 value); // parameter |
611 value); // parameter | |
612 } | 609 } |
613 | 610 |
614 | 611 |
615 const Operator* CommonOperatorBuilder::HeapConstant( | 612 const Operator* CommonOperatorBuilder::HeapConstant( |
616 const Handle<HeapObject>& value) { | 613 const Handle<HeapObject>& value) { |
617 return new (zone()) | 614 return new (zone()) Operator1<Handle<HeapObject>>( // -- |
618 Operator1<Handle<HeapObject>, Handle<HeapObject>::equal_to, | 615 IrOpcode::kHeapConstant, Operator::kPure, // opcode |
619 Handle<HeapObject>::hash>( // -- | 616 "HeapConstant", // name |
620 IrOpcode::kHeapConstant, Operator::kPure, // opcode | 617 0, 0, 0, 1, 0, 0, // counts |
621 "HeapConstant", // name | 618 value); // parameter |
622 0, 0, 0, 1, 0, 0, // counts | |
623 value); // parameter | |
624 } | 619 } |
625 | 620 |
626 | 621 |
627 const Operator* CommonOperatorBuilder::Select(MachineType type, | 622 const Operator* CommonOperatorBuilder::Select(MachineType type, |
628 BranchHint hint) { | 623 BranchHint hint) { |
629 return new (zone()) Operator1<SelectParameters>( // -- | 624 return new (zone()) Operator1<SelectParameters>( // -- |
630 IrOpcode::kSelect, Operator::kPure, // opcode | 625 IrOpcode::kSelect, Operator::kPure, // opcode |
631 "Select", // name | 626 "Select", // name |
632 3, 0, 0, 1, 0, 0, // counts | 627 3, 0, 0, 1, 0, 0, // counts |
633 SelectParameters(type, hint)); // parameter | 628 SelectParameters(type, hint)); // parameter |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
815 Handle<SharedFunctionInfo> shared_info, | 810 Handle<SharedFunctionInfo> shared_info, |
816 ContextCallingMode context_calling_mode) { | 811 ContextCallingMode context_calling_mode) { |
817 return new (zone()->New(sizeof(FrameStateFunctionInfo))) | 812 return new (zone()->New(sizeof(FrameStateFunctionInfo))) |
818 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info, | 813 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info, |
819 context_calling_mode); | 814 context_calling_mode); |
820 } | 815 } |
821 | 816 |
822 } // namespace compiler | 817 } // namespace compiler |
823 } // namespace internal | 818 } // namespace internal |
824 } // namespace v8 | 819 } // namespace v8 |
OLD | NEW |