OLD | NEW |
---|---|
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
107 // LOsrEntry | 107 // LOsrEntry |
108 // LParameter | 108 // LParameter |
109 // LRegExpConstructResult | 109 // LRegExpConstructResult |
110 // LStackCheck | 110 // LStackCheck |
111 // LStoreKeyed | 111 // LStoreKeyed |
112 // LStoreKeyedFastElement | 112 // LStoreKeyedFastElement |
113 // LStoreKeyedGeneric | 113 // LStoreKeyedGeneric |
114 // LStoreNamed | 114 // LStoreNamed |
115 // LStoreNamedField | 115 // LStoreNamedField |
116 // LStoreNamedGeneric | 116 // LStoreNamedGeneric |
117 // LStringCharCodeAt | |
117 // LBitNotI | 118 // LBitNotI |
118 // LCallNew | 119 // LCallNew |
119 // LCheckFunction | 120 // LCheckFunction |
120 // LCheckPrototypeMaps | 121 // LCheckPrototypeMaps |
121 // LCheckInstanceType | 122 // LCheckInstanceType |
122 // LCheckMap | 123 // LCheckMap |
123 // LCheckSmi | 124 // LCheckSmi |
124 // LClassOfTest | 125 // LClassOfTest |
125 // LDeleteProperty | 126 // LDeleteProperty |
126 // LDoubleToI | 127 // LDoubleToI |
127 // LFixedArrayLength | 128 // LFixedArrayLength |
128 // LHasCachedArrayIndex | 129 // LHasCachedArrayIndex |
129 // LHasInstanceType | 130 // LHasInstanceType |
130 // LInteger32ToDouble | 131 // LInteger32ToDouble |
131 // LIsNull | 132 // LIsNull |
132 // LIsObject | 133 // LIsObject |
133 // LIsSmi | 134 // LIsSmi |
134 // LJSArrayLength | 135 // LJSArrayLength |
135 // LLoadNamedField | 136 // LLoadNamedField |
136 // LLoadNamedGeneric | 137 // LLoadNamedGeneric |
137 // LLoadFunctionPrototype | 138 // LLoadFunctionPrototype |
138 // LNumberTagD | 139 // LNumberTagD |
139 // LNumberTagI | 140 // LNumberTagI |
140 // LPushArgument | 141 // LPushArgument |
141 // LReturn | 142 // LReturn |
142 // LSmiTag | 143 // LSmiTag |
143 // LStoreGlobal | 144 // LStoreGlobal |
145 // LStringLength | |
144 // LTaggedToI | 146 // LTaggedToI |
145 // LThrow | 147 // LThrow |
146 // LTypeof | 148 // LTypeof |
147 // LTypeofIs | 149 // LTypeofIs |
148 // LUnaryMathOperation | 150 // LUnaryMathOperation |
149 // LValueOf | 151 // LValueOf |
150 // LUnknownOSRValue | 152 // LUnknownOSRValue |
151 | 153 |
152 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ | 154 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ |
153 V(ControlInstruction) \ | 155 V(ControlInstruction) \ |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
246 V(Return) \ | 248 V(Return) \ |
247 V(ShiftI) \ | 249 V(ShiftI) \ |
248 V(SmiTag) \ | 250 V(SmiTag) \ |
249 V(SmiUntag) \ | 251 V(SmiUntag) \ |
250 V(StackCheck) \ | 252 V(StackCheck) \ |
251 V(StoreGlobal) \ | 253 V(StoreGlobal) \ |
252 V(StoreKeyedFastElement) \ | 254 V(StoreKeyedFastElement) \ |
253 V(StoreKeyedGeneric) \ | 255 V(StoreKeyedGeneric) \ |
254 V(StoreNamedField) \ | 256 V(StoreNamedField) \ |
255 V(StoreNamedGeneric) \ | 257 V(StoreNamedGeneric) \ |
258 V(StringCharCodeAt) \ | |
259 V(StringLength) \ | |
256 V(SubI) \ | 260 V(SubI) \ |
257 V(TaggedToI) \ | 261 V(TaggedToI) \ |
258 V(Throw) \ | 262 V(Throw) \ |
259 V(Typeof) \ | 263 V(Typeof) \ |
260 V(TypeofIs) \ | 264 V(TypeofIs) \ |
261 V(TypeofIsAndBranch) \ | 265 V(TypeofIsAndBranch) \ |
262 V(UnaryMathOperation) \ | 266 V(UnaryMathOperation) \ |
263 V(UnknownOSRValue) \ | 267 V(UnknownOSRValue) \ |
264 V(ValueOf) | 268 V(ValueOf) |
265 | 269 |
(...skipping 1317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1583 | 1587 |
1584 class LStoreKeyedGeneric: public LStoreKeyed { | 1588 class LStoreKeyedGeneric: public LStoreKeyed { |
1585 public: | 1589 public: |
1586 LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) | 1590 LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val) |
1587 : LStoreKeyed(obj, key, val) { } | 1591 : LStoreKeyed(obj, key, val) { } |
1588 | 1592 |
1589 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") | 1593 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
1590 }; | 1594 }; |
1591 | 1595 |
1592 | 1596 |
1597 class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { | |
1598 public: | |
1599 LStringCharCodeAt(LOperand* string, LOperand* index) { | |
1600 inputs_[0] = string; | |
1601 inputs_[1] = index; | |
1602 } | |
1603 | |
1604 DECLARE_CONCRETE_INSTRUCTION(StringCharCodeAt, "string-char-code-at") | |
1605 DECLARE_HYDROGEN_ACCESSOR(StringCharCodeAt) | |
1606 | |
1607 LOperand* string() { return inputs_[0]; } | |
1608 LOperand* index() { return inputs_[1]; } | |
1609 }; | |
1610 | |
1611 | |
1612 class LStringLength: public LTemplateInstruction<1, 1> { | |
fschneider
2011/01/19 16:23:44
For consistency I'd write
public LTemplateInstru
Vitaly Repeshko
2011/01/19 20:08:41
Done.
| |
1613 public: | |
1614 explicit LStringLength(LOperand* string) { | |
1615 inputs_[0] = string; | |
1616 } | |
1617 | |
1618 DECLARE_CONCRETE_INSTRUCTION(StringLength, "string-length") | |
1619 DECLARE_HYDROGEN_ACCESSOR(StringLength) | |
1620 | |
1621 LOperand* string() { return inputs_[0]; } | |
1622 }; | |
1623 | |
1624 | |
1593 class LCheckFunction: public LTemplateInstruction<0, 1> { | 1625 class LCheckFunction: public LTemplateInstruction<0, 1> { |
1594 public: | 1626 public: |
1595 explicit LCheckFunction(LOperand* value) { | 1627 explicit LCheckFunction(LOperand* value) { |
1596 inputs_[0] = value; | 1628 inputs_[0] = value; |
1597 } | 1629 } |
1598 | 1630 |
1599 DECLARE_CONCRETE_INSTRUCTION(CheckFunction, "check-function") | 1631 DECLARE_CONCRETE_INSTRUCTION(CheckFunction, "check-function") |
1600 DECLARE_HYDROGEN_ACCESSOR(CheckFunction) | 1632 DECLARE_HYDROGEN_ACCESSOR(CheckFunction) |
1601 }; | 1633 }; |
1602 | 1634 |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1986 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2018 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
1987 }; | 2019 }; |
1988 | 2020 |
1989 #undef DECLARE_HYDROGEN_ACCESSOR | 2021 #undef DECLARE_HYDROGEN_ACCESSOR |
1990 #undef DECLARE_INSTRUCTION | 2022 #undef DECLARE_INSTRUCTION |
1991 #undef DECLARE_CONCRETE_INSTRUCTION | 2023 #undef DECLARE_CONCRETE_INSTRUCTION |
1992 | 2024 |
1993 } } // namespace v8::internal | 2025 } } // namespace v8::internal |
1994 | 2026 |
1995 #endif // V8_IA32_LITHIUM_IA32_H_ | 2027 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |