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 1296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1307 public: | 1307 public: |
1308 explicit LLoadContextSlot(LOperand* context) { | 1308 explicit LLoadContextSlot(LOperand* context) { |
1309 inputs_[0] = context; | 1309 inputs_[0] = context; |
1310 } | 1310 } |
1311 | 1311 |
1312 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") | 1312 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") |
1313 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) | 1313 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) |
1314 | 1314 |
1315 LOperand* context() { return InputAt(0); } | 1315 LOperand* context() { return InputAt(0); } |
1316 int slot_index() { return hydrogen()->slot_index(); } | 1316 int slot_index() { return hydrogen()->slot_index(); } |
| 1317 bool RequiresHoleCheck() { return hydrogen()->RequiresHoleCheck(); } |
1317 | 1318 |
1318 virtual void PrintDataTo(StringStream* stream); | 1319 virtual void PrintDataTo(StringStream* stream); |
1319 }; | 1320 }; |
1320 | 1321 |
1321 | 1322 |
1322 class LStoreContextSlot: public LTemplateInstruction<0, 2, 1> { | 1323 class LStoreContextSlot: public LTemplateInstruction<0, 2, 1> { |
1323 public: | 1324 public: |
1324 LStoreContextSlot(LOperand* context, LOperand* value, LOperand* temp) { | 1325 LStoreContextSlot(LOperand* context, LOperand* value, LOperand* temp) { |
1325 inputs_[0] = context; | 1326 inputs_[0] = context; |
1326 inputs_[1] = value; | 1327 inputs_[1] = value; |
1327 temps_[0] = temp; | 1328 temps_[0] = temp; |
1328 } | 1329 } |
1329 | 1330 |
1330 DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot") | 1331 DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot") |
1331 DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot) | 1332 DECLARE_HYDROGEN_ACCESSOR(StoreContextSlot) |
1332 | 1333 |
1333 LOperand* context() { return InputAt(0); } | 1334 LOperand* context() { return InputAt(0); } |
1334 LOperand* value() { return InputAt(1); } | 1335 LOperand* value() { return InputAt(1); } |
1335 int slot_index() { return hydrogen()->slot_index(); } | 1336 int slot_index() { return hydrogen()->slot_index(); } |
| 1337 bool RequiresHoleCheck() { return hydrogen()->RequiresHoleCheck(); } |
1336 | 1338 |
1337 virtual void PrintDataTo(StringStream* stream); | 1339 virtual void PrintDataTo(StringStream* stream); |
1338 }; | 1340 }; |
1339 | 1341 |
1340 | 1342 |
1341 class LPushArgument: public LTemplateInstruction<0, 1, 0> { | 1343 class LPushArgument: public LTemplateInstruction<0, 1, 0> { |
1342 public: | 1344 public: |
1343 explicit LPushArgument(LOperand* value) { | 1345 explicit LPushArgument(LOperand* value) { |
1344 inputs_[0] = value; | 1346 inputs_[0] = value; |
1345 } | 1347 } |
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2375 | 2377 |
2376 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2378 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2377 }; | 2379 }; |
2378 | 2380 |
2379 #undef DECLARE_HYDROGEN_ACCESSOR | 2381 #undef DECLARE_HYDROGEN_ACCESSOR |
2380 #undef DECLARE_CONCRETE_INSTRUCTION | 2382 #undef DECLARE_CONCRETE_INSTRUCTION |
2381 | 2383 |
2382 } } // namespace v8::internal | 2384 } } // namespace v8::internal |
2383 | 2385 |
2384 #endif // V8_IA32_LITHIUM_IA32_H_ | 2386 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |