OLD | NEW |
---|---|
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
60 // LCmpJSObjectEq | 60 // LCmpJSObjectEq |
61 // LCmpJSObjectEqAndBranch | 61 // LCmpJSObjectEqAndBranch |
62 // LCmpT | 62 // LCmpT |
63 // LDivI | 63 // LDivI |
64 // LInstanceOf | 64 // LInstanceOf |
65 // LInstanceOfAndBranch | 65 // LInstanceOfAndBranch |
66 // LLoadKeyedFastElement | 66 // LLoadKeyedFastElement |
67 // LLoadKeyedGeneric | 67 // LLoadKeyedGeneric |
68 // LModI | 68 // LModI |
69 // LMulI | 69 // LMulI |
70 // LPower | |
70 // LShiftI | 71 // LShiftI |
71 // LSubI | 72 // LSubI |
72 // LCallConstantFunction | 73 // LCallConstantFunction |
73 // LCallFunction | 74 // LCallFunction |
74 // LCallGlobal | 75 // LCallGlobal |
75 // LCallKeyed | 76 // LCallKeyed |
76 // LCallKnownGlobal | 77 // LCallKnownGlobal |
77 // LCallNamed | 78 // LCallNamed |
78 // LCallRuntime | 79 // LCallRuntime |
79 // LCallStub | 80 // LCallStub |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
133 // LReturn | 134 // LReturn |
134 // LSmiTag | 135 // LSmiTag |
135 // LStoreGlobal | 136 // LStoreGlobal |
136 // LTaggedToI | 137 // LTaggedToI |
137 // LThrow | 138 // LThrow |
138 // LTypeof | 139 // LTypeof |
139 // LTypeofIs | 140 // LTypeofIs |
140 // LTypeofIsAndBranch | 141 // LTypeofIsAndBranch |
141 // LUnaryMathOperation | 142 // LUnaryMathOperation |
142 // LValueOf | 143 // LValueOf |
143 // LUnknownOSRValue | 144 // LUnknownOSRValue |
Florian Schneider
2010/12/08 14:09:27
Accidental edit? UnknownOSRValue is not a UnaryOpe
William Hesse
2010/12/08 14:53:16
Done.
| |
144 | 145 |
145 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ | 146 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ |
146 V(BinaryOperation) \ | 147 V(BinaryOperation) \ |
147 V(Constant) \ | 148 V(Constant) \ |
148 V(Call) \ | 149 V(Call) \ |
149 V(MaterializedLiteral) \ | 150 V(MaterializedLiteral) \ |
150 V(StoreKeyed) \ | 151 V(StoreKeyed) \ |
151 V(StoreNamed) \ | 152 V(StoreNamed) \ |
152 V(UnaryOperation) \ | 153 V(UnaryOperation) \ |
153 LITHIUM_CONCRETE_INSTRUCTION_LIST(V) | 154 LITHIUM_CONCRETE_INSTRUCTION_LIST(V) |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
222 V(LoadNamedField) \ | 223 V(LoadNamedField) \ |
223 V(LoadNamedGeneric) \ | 224 V(LoadNamedGeneric) \ |
224 V(ModI) \ | 225 V(ModI) \ |
225 V(MulI) \ | 226 V(MulI) \ |
226 V(NumberTagD) \ | 227 V(NumberTagD) \ |
227 V(NumberTagI) \ | 228 V(NumberTagI) \ |
228 V(NumberUntagD) \ | 229 V(NumberUntagD) \ |
229 V(ObjectLiteral) \ | 230 V(ObjectLiteral) \ |
230 V(OsrEntry) \ | 231 V(OsrEntry) \ |
231 V(Parameter) \ | 232 V(Parameter) \ |
233 V(Power) \ | |
Florian Schneider
2010/12/08 14:09:27
Align \
William Hesse
2010/12/08 14:53:16
Done.
| |
232 V(PushArgument) \ | 234 V(PushArgument) \ |
233 V(RegExpLiteral) \ | 235 V(RegExpLiteral) \ |
234 V(Return) \ | 236 V(Return) \ |
235 V(ShiftI) \ | 237 V(ShiftI) \ |
236 V(SmiTag) \ | 238 V(SmiTag) \ |
237 V(SmiUntag) \ | 239 V(SmiUntag) \ |
238 V(StackCheck) \ | 240 V(StackCheck) \ |
239 V(StoreGlobal) \ | 241 V(StoreGlobal) \ |
240 V(StoreKeyedFastElement) \ | 242 V(StoreKeyedFastElement) \ |
241 V(StoreKeyedGeneric) \ | 243 V(StoreKeyedGeneric) \ |
(...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1147 class LAddI: public LBinaryOperation { | 1149 class LAddI: public LBinaryOperation { |
1148 public: | 1150 public: |
1149 LAddI(LOperand* left, LOperand* right) | 1151 LAddI(LOperand* left, LOperand* right) |
1150 : LBinaryOperation(left, right) { } | 1152 : LBinaryOperation(left, right) { } |
1151 | 1153 |
1152 DECLARE_CONCRETE_INSTRUCTION(AddI, "add-i") | 1154 DECLARE_CONCRETE_INSTRUCTION(AddI, "add-i") |
1153 DECLARE_HYDROGEN_ACCESSOR(Add) | 1155 DECLARE_HYDROGEN_ACCESSOR(Add) |
1154 }; | 1156 }; |
1155 | 1157 |
1156 | 1158 |
1159 class LPower: public LBinaryOperation { | |
1160 public: | |
1161 LPower(LOperand* left, LOperand* right, Representation exponent_type) | |
1162 : LBinaryOperation(left, right), exponent_type_(exponent_type) { } | |
1163 | |
1164 DECLARE_CONCRETE_INSTRUCTION(Power, "power") | |
1165 Representation exponent_type() { return exponent_type_; } | |
Florian Schneider
2010/12/08 14:09:27
You can save the exponent_type_ member here and ge
William Hesse
2010/12/08 14:53:16
Done.
William Hesse
2010/12/08 14:53:16
Done.
| |
1166 | |
1167 private: | |
1168 Representation exponent_type_; | |
1169 }; | |
1170 | |
1171 | |
1157 class LArithmeticD: public LBinaryOperation { | 1172 class LArithmeticD: public LBinaryOperation { |
1158 public: | 1173 public: |
1159 LArithmeticD(Token::Value op, LOperand* left, LOperand* right) | 1174 LArithmeticD(Token::Value op, LOperand* left, LOperand* right) |
1160 : LBinaryOperation(left, right), op_(op) { } | 1175 : LBinaryOperation(left, right), op_(op) { } |
1161 | 1176 |
1162 Token::Value op() const { return op_; } | 1177 Token::Value op() const { return op_; } |
1163 | 1178 |
1164 virtual void CompileToNative(LCodeGen* generator); | 1179 virtual void CompileToNative(LCodeGen* generator); |
1165 virtual const char* Mnemonic() const; | 1180 virtual const char* Mnemonic() const; |
1166 | 1181 |
(...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2061 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2076 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2062 }; | 2077 }; |
2063 | 2078 |
2064 #undef DECLARE_HYDROGEN_ACCESSOR | 2079 #undef DECLARE_HYDROGEN_ACCESSOR |
2065 #undef DECLARE_INSTRUCTION | 2080 #undef DECLARE_INSTRUCTION |
2066 #undef DECLARE_CONCRETE_INSTRUCTION | 2081 #undef DECLARE_CONCRETE_INSTRUCTION |
2067 | 2082 |
2068 } } // namespace v8::internal | 2083 } } // namespace v8::internal |
2069 | 2084 |
2070 #endif // V8_IA32_LITHIUM_IA32_H_ | 2085 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |