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/js-operator.h" | 5 #include "src/compiler/js-operator.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "src/base/lazy-instance.h" | 9 #include "src/base/lazy-instance.h" |
10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" |
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
660 }; \ | 660 }; \ |
661 Name##Operator<CompareOperationHint::kNone> k##Name##NoneOperator; \ | 661 Name##Operator<CompareOperationHint::kNone> k##Name##NoneOperator; \ |
662 Name##Operator<CompareOperationHint::kSignedSmall> \ | 662 Name##Operator<CompareOperationHint::kSignedSmall> \ |
663 k##Name##SignedSmallOperator; \ | 663 k##Name##SignedSmallOperator; \ |
664 Name##Operator<CompareOperationHint::kNumber> k##Name##NumberOperator; \ | 664 Name##Operator<CompareOperationHint::kNumber> k##Name##NumberOperator; \ |
665 Name##Operator<CompareOperationHint::kNumberOrOddball> \ | 665 Name##Operator<CompareOperationHint::kNumberOrOddball> \ |
666 k##Name##NumberOrOddballOperator; \ | 666 k##Name##NumberOrOddballOperator; \ |
667 Name##Operator<CompareOperationHint::kInternalizedString> \ | 667 Name##Operator<CompareOperationHint::kInternalizedString> \ |
668 k##Name##InternalizedStringOperator; \ | 668 k##Name##InternalizedStringOperator; \ |
669 Name##Operator<CompareOperationHint::kString> k##Name##StringOperator; \ | 669 Name##Operator<CompareOperationHint::kString> k##Name##StringOperator; \ |
| 670 Name##Operator<CompareOperationHint::kSymbol> k##Name##SymbolOperator; \ |
670 Name##Operator<CompareOperationHint::kReceiver> k##Name##ReceiverOperator; \ | 671 Name##Operator<CompareOperationHint::kReceiver> k##Name##ReceiverOperator; \ |
671 Name##Operator<CompareOperationHint::kAny> k##Name##AnyOperator; | 672 Name##Operator<CompareOperationHint::kAny> k##Name##AnyOperator; |
672 COMPARE_OP_LIST(COMPARE_OP) | 673 COMPARE_OP_LIST(COMPARE_OP) |
673 #undef COMPARE_OP | 674 #undef COMPARE_OP |
674 }; | 675 }; |
675 | 676 |
676 static base::LazyInstance<JSOperatorGlobalCache>::type kCache = | 677 static base::LazyInstance<JSOperatorGlobalCache>::type kCache = |
677 LAZY_INSTANCE_INITIALIZER; | 678 LAZY_INSTANCE_INITIALIZER; |
678 | 679 |
679 JSOperatorBuilder::JSOperatorBuilder(Zone* zone) | 680 JSOperatorBuilder::JSOperatorBuilder(Zone* zone) |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 case CompareOperationHint::kSignedSmall: \ | 717 case CompareOperationHint::kSignedSmall: \ |
717 return &cache_.k##Name##SignedSmallOperator; \ | 718 return &cache_.k##Name##SignedSmallOperator; \ |
718 case CompareOperationHint::kNumber: \ | 719 case CompareOperationHint::kNumber: \ |
719 return &cache_.k##Name##NumberOperator; \ | 720 return &cache_.k##Name##NumberOperator; \ |
720 case CompareOperationHint::kNumberOrOddball: \ | 721 case CompareOperationHint::kNumberOrOddball: \ |
721 return &cache_.k##Name##NumberOrOddballOperator; \ | 722 return &cache_.k##Name##NumberOrOddballOperator; \ |
722 case CompareOperationHint::kInternalizedString: \ | 723 case CompareOperationHint::kInternalizedString: \ |
723 return &cache_.k##Name##InternalizedStringOperator; \ | 724 return &cache_.k##Name##InternalizedStringOperator; \ |
724 case CompareOperationHint::kString: \ | 725 case CompareOperationHint::kString: \ |
725 return &cache_.k##Name##StringOperator; \ | 726 return &cache_.k##Name##StringOperator; \ |
| 727 case CompareOperationHint::kSymbol: \ |
| 728 return &cache_.k##Name##SymbolOperator; \ |
726 case CompareOperationHint::kReceiver: \ | 729 case CompareOperationHint::kReceiver: \ |
727 return &cache_.k##Name##ReceiverOperator; \ | 730 return &cache_.k##Name##ReceiverOperator; \ |
728 case CompareOperationHint::kAny: \ | 731 case CompareOperationHint::kAny: \ |
729 return &cache_.k##Name##AnyOperator; \ | 732 return &cache_.k##Name##AnyOperator; \ |
730 } \ | 733 } \ |
731 UNREACHABLE(); \ | 734 UNREACHABLE(); \ |
732 return nullptr; \ | 735 return nullptr; \ |
733 } | 736 } |
734 COMPARE_OP_LIST(COMPARE_OP) | 737 COMPARE_OP_LIST(COMPARE_OP) |
735 #undef COMPARE_OP | 738 #undef COMPARE_OP |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1108 return new (zone()) Operator1<Handle<ScopeInfo>>( // -- | 1111 return new (zone()) Operator1<Handle<ScopeInfo>>( // -- |
1109 IrOpcode::kJSCreateScriptContext, Operator::kNoProperties, // opcode | 1112 IrOpcode::kJSCreateScriptContext, Operator::kNoProperties, // opcode |
1110 "JSCreateScriptContext", // name | 1113 "JSCreateScriptContext", // name |
1111 1, 1, 1, 1, 1, 2, // counts | 1114 1, 1, 1, 1, 1, 2, // counts |
1112 scope_info); // parameter | 1115 scope_info); // parameter |
1113 } | 1116 } |
1114 | 1117 |
1115 } // namespace compiler | 1118 } // namespace compiler |
1116 } // namespace internal | 1119 } // namespace internal |
1117 } // namespace v8 | 1120 } // namespace v8 |
OLD | NEW |