| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 V(CheckFunction) \ | 67 V(CheckFunction) \ |
| 68 V(CheckInstanceType) \ | 68 V(CheckInstanceType) \ |
| 69 V(CheckMaps) \ | 69 V(CheckMaps) \ |
| 70 V(CheckMapValue) \ | 70 V(CheckMapValue) \ |
| 71 V(CheckNonSmi) \ | 71 V(CheckNonSmi) \ |
| 72 V(CheckSmi) \ | 72 V(CheckSmi) \ |
| 73 V(ClampDToUint8) \ | 73 V(ClampDToUint8) \ |
| 74 V(ClampIToUint8) \ | 74 V(ClampIToUint8) \ |
| 75 V(ClampTToUint8) \ | 75 V(ClampTToUint8) \ |
| 76 V(ClassOfTestAndBranch) \ | 76 V(ClassOfTestAndBranch) \ |
| 77 V(CmpHoleAndBranchD) \ |
| 78 V(CmpHoleAndBranchT) \ |
| 77 V(CmpMapAndBranch) \ | 79 V(CmpMapAndBranch) \ |
| 78 V(CmpObjectEqAndBranch) \ | 80 V(CmpObjectEqAndBranch) \ |
| 79 V(CmpT) \ | 81 V(CmpT) \ |
| 80 V(CompareNumericAndBranch) \ | 82 V(CompareNumericAndBranch) \ |
| 81 V(ConstantD) \ | 83 V(ConstantD) \ |
| 82 V(ConstantE) \ | 84 V(ConstantE) \ |
| 83 V(ConstantI) \ | 85 V(ConstantI) \ |
| 84 V(ConstantS) \ | 86 V(ConstantS) \ |
| 85 V(ConstantT) \ | 87 V(ConstantT) \ |
| 86 V(Context) \ | 88 V(Context) \ |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 V(LoadExternalArrayPointer) \ | 124 V(LoadExternalArrayPointer) \ |
| 123 V(LoadFieldByIndex) \ | 125 V(LoadFieldByIndex) \ |
| 124 V(LoadFunctionPrototype) \ | 126 V(LoadFunctionPrototype) \ |
| 125 V(LoadGlobalCell) \ | 127 V(LoadGlobalCell) \ |
| 126 V(LoadGlobalGeneric) \ | 128 V(LoadGlobalGeneric) \ |
| 127 V(LoadKeyedExternal) \ | 129 V(LoadKeyedExternal) \ |
| 128 V(LoadKeyedFixed) \ | 130 V(LoadKeyedFixed) \ |
| 129 V(LoadKeyedFixedDouble) \ | 131 V(LoadKeyedFixedDouble) \ |
| 130 V(LoadKeyedGeneric) \ | 132 V(LoadKeyedGeneric) \ |
| 131 V(LoadNamedField) \ | 133 V(LoadNamedField) \ |
| 132 V(LoadNamedFieldPolymorphic) \ | |
| 133 V(LoadNamedGeneric) \ | 134 V(LoadNamedGeneric) \ |
| 134 V(MapEnumLength) \ | 135 V(MapEnumLength) \ |
| 135 V(MathAbs) \ | 136 V(MathAbs) \ |
| 136 V(MathAbsTagged) \ | 137 V(MathAbsTagged) \ |
| 137 V(MathCos) \ | 138 V(MathCos) \ |
| 138 V(MathExp) \ | 139 V(MathExp) \ |
| 139 V(MathFloor) \ | 140 V(MathFloor) \ |
| 140 V(MathFloorOfDiv) \ | 141 V(MathFloorOfDiv) \ |
| 141 V(MathLog) \ | 142 V(MathLog) \ |
| 142 V(MathMinMax) \ | 143 V(MathMinMax) \ |
| (...skipping 899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1042 LOperand* temp2() { return temps_[1]; } | 1043 LOperand* temp2() { return temps_[1]; } |
| 1043 | 1044 |
| 1044 DECLARE_CONCRETE_INSTRUCTION(ClassOfTestAndBranch, | 1045 DECLARE_CONCRETE_INSTRUCTION(ClassOfTestAndBranch, |
| 1045 "class-of-test-and-branch") | 1046 "class-of-test-and-branch") |
| 1046 DECLARE_HYDROGEN_ACCESSOR(ClassOfTestAndBranch) | 1047 DECLARE_HYDROGEN_ACCESSOR(ClassOfTestAndBranch) |
| 1047 | 1048 |
| 1048 virtual void PrintDataTo(StringStream* stream); | 1049 virtual void PrintDataTo(StringStream* stream); |
| 1049 }; | 1050 }; |
| 1050 | 1051 |
| 1051 | 1052 |
| 1053 class LCmpHoleAndBranchD: public LControlInstruction<1, 1> { |
| 1054 public: |
| 1055 explicit LCmpHoleAndBranchD(LOperand* object, LOperand* temp) { |
| 1056 inputs_[0] = object; |
| 1057 temps_[0] = temp; |
| 1058 } |
| 1059 |
| 1060 LOperand* object() { return inputs_[0]; } |
| 1061 LOperand* temp() { return temps_[0]; } |
| 1062 |
| 1063 DECLARE_CONCRETE_INSTRUCTION(CmpHoleAndBranchD, "cmp-hole-and-branch-d") |
| 1064 DECLARE_HYDROGEN_ACCESSOR(CompareHoleAndBranch) |
| 1065 }; |
| 1066 |
| 1067 |
| 1068 class LCmpHoleAndBranchT: public LControlInstruction<1, 0> { |
| 1069 public: |
| 1070 explicit LCmpHoleAndBranchT(LOperand* object) { |
| 1071 inputs_[0] = object; |
| 1072 } |
| 1073 |
| 1074 LOperand* object() { return inputs_[0]; } |
| 1075 |
| 1076 DECLARE_CONCRETE_INSTRUCTION(CmpHoleAndBranchT, "cmp-hole-and-branch-t") |
| 1077 DECLARE_HYDROGEN_ACCESSOR(CompareHoleAndBranch) |
| 1078 }; |
| 1079 |
| 1080 |
| 1052 class LCmpMapAndBranch: public LControlInstruction<1, 1> { | 1081 class LCmpMapAndBranch: public LControlInstruction<1, 1> { |
| 1053 public: | 1082 public: |
| 1054 LCmpMapAndBranch(LOperand* value, LOperand* temp) { | 1083 LCmpMapAndBranch(LOperand* value, LOperand* temp) { |
| 1055 inputs_[0] = value; | 1084 inputs_[0] = value; |
| 1056 temps_[0] = temp; | 1085 temps_[0] = temp; |
| 1057 } | 1086 } |
| 1058 | 1087 |
| 1059 LOperand* value() { return inputs_[0]; } | 1088 LOperand* value() { return inputs_[0]; } |
| 1060 LOperand* temp() { return temps_[0]; } | 1089 LOperand* temp() { return temps_[0]; } |
| 1061 | 1090 |
| 1062 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") | 1091 DECLARE_CONCRETE_INSTRUCTION(CmpMapAndBranch, "cmp-map-and-branch") |
| 1063 DECLARE_HYDROGEN_ACCESSOR(CompareMap) | 1092 DECLARE_HYDROGEN_ACCESSOR(CompareMap) |
| 1064 | 1093 |
| 1065 Handle<Map> map() const { return hydrogen()->map(); } | 1094 Handle<Map> map() const { return hydrogen()->map(); } |
| 1066 }; | 1095 }; |
| 1067 | 1096 |
| 1068 | 1097 |
| 1069 class LCmpObjectEqAndBranch: public LControlInstruction<2, 0> { | 1098 class LCmpObjectEqAndBranch: public LControlInstruction<2, 0> { |
| 1070 public: | 1099 public: |
| 1071 LCmpObjectEqAndBranch(LOperand* left, LOperand* right) { | 1100 LCmpObjectEqAndBranch(LOperand* left, LOperand* right) { |
| 1072 inputs_[0] = left; | 1101 inputs_[0] = left; |
| 1073 inputs_[1] = right; | 1102 inputs_[1] = right; |
| 1074 } | 1103 } |
| 1075 | 1104 |
| 1076 LOperand* left() { return inputs_[0]; } | 1105 LOperand* left() { return inputs_[0]; } |
| 1077 LOperand* right() { return inputs_[1]; } | 1106 LOperand* right() { return inputs_[1]; } |
| 1078 | 1107 |
| 1079 DECLARE_CONCRETE_INSTRUCTION(CmpObjectEqAndBranch, | 1108 DECLARE_CONCRETE_INSTRUCTION(CmpObjectEqAndBranch, "cmp-object-eq-and-branch") |
| 1080 "cmp-object-eq-and-branch") | |
| 1081 DECLARE_HYDROGEN_ACCESSOR(CompareObjectEqAndBranch) | 1109 DECLARE_HYDROGEN_ACCESSOR(CompareObjectEqAndBranch) |
| 1082 }; | 1110 }; |
| 1083 | 1111 |
| 1084 | 1112 |
| 1085 class LCmpT: public LTemplateInstruction<1, 2, 0> { | 1113 class LCmpT: public LTemplateInstruction<1, 2, 0> { |
| 1086 public: | 1114 public: |
| 1087 LCmpT(LOperand* left, LOperand* right) { | 1115 LCmpT(LOperand* left, LOperand* right) { |
| 1088 inputs_[0] = left; | 1116 inputs_[0] = left; |
| 1089 inputs_[1] = right; | 1117 inputs_[1] = right; |
| 1090 } | 1118 } |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1576 inputs_[0] = object; | 1604 inputs_[0] = object; |
| 1577 } | 1605 } |
| 1578 | 1606 |
| 1579 LOperand* object() { return inputs_[0]; } | 1607 LOperand* object() { return inputs_[0]; } |
| 1580 | 1608 |
| 1581 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") | 1609 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") |
| 1582 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) | 1610 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) |
| 1583 }; | 1611 }; |
| 1584 | 1612 |
| 1585 | 1613 |
| 1586 class LLoadNamedFieldPolymorphic: public LTemplateInstruction<1, 1, 0> { | |
| 1587 public: | |
| 1588 explicit LLoadNamedFieldPolymorphic(LOperand* object) { | |
| 1589 inputs_[0] = object; | |
| 1590 } | |
| 1591 | |
| 1592 LOperand* object() { return inputs_[0]; } | |
| 1593 | |
| 1594 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field-polymorphic") | |
| 1595 DECLARE_HYDROGEN_ACCESSOR(LoadNamedFieldPolymorphic) | |
| 1596 }; | |
| 1597 | |
| 1598 | |
| 1599 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> { | 1614 class LFunctionLiteral: public LTemplateInstruction<1, 0, 0> { |
| 1600 public: | 1615 public: |
| 1601 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal") | 1616 DECLARE_CONCRETE_INSTRUCTION(FunctionLiteral, "function-literal") |
| 1602 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral) | 1617 DECLARE_HYDROGEN_ACCESSOR(FunctionLiteral) |
| 1603 }; | 1618 }; |
| 1604 | 1619 |
| 1605 | 1620 |
| 1606 class LLoadExternalArrayPointer: public LTemplateInstruction<1, 1, 0> { | 1621 class LLoadExternalArrayPointer: public LTemplateInstruction<1, 1, 0> { |
| 1607 public: | 1622 public: |
| 1608 explicit LLoadExternalArrayPointer(LOperand* object) { | 1623 explicit LLoadExternalArrayPointer(LOperand* object) { |
| (...skipping 1279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2888 | 2903 |
| 2889 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2904 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2890 }; | 2905 }; |
| 2891 | 2906 |
| 2892 #undef DECLARE_HYDROGEN_ACCESSOR | 2907 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2893 #undef DECLARE_CONCRETE_INSTRUCTION | 2908 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2894 | 2909 |
| 2895 } } // namespace v8::internal | 2910 } } // namespace v8::internal |
| 2896 | 2911 |
| 2897 #endif // V8_A64_LITHIUM_A64_H_ | 2912 #endif // V8_A64_LITHIUM_A64_H_ |
| OLD | NEW |