| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 V(MulI) \ | 146 V(MulI) \ |
| 147 V(NumberTagD) \ | 147 V(NumberTagD) \ |
| 148 V(NumberTagI) \ | 148 V(NumberTagI) \ |
| 149 V(NumberTagU) \ | 149 V(NumberTagU) \ |
| 150 V(NumberUntagD) \ | 150 V(NumberUntagD) \ |
| 151 V(OsrEntry) \ | 151 V(OsrEntry) \ |
| 152 V(OuterContext) \ | 152 V(OuterContext) \ |
| 153 V(Parameter) \ | 153 V(Parameter) \ |
| 154 V(Power) \ | 154 V(Power) \ |
| 155 V(PushArgument) \ | 155 V(PushArgument) \ |
| 156 V(Random) \ | |
| 157 V(RegExpLiteral) \ | 156 V(RegExpLiteral) \ |
| 158 V(Return) \ | 157 V(Return) \ |
| 159 V(SeqStringGetChar) \ | 158 V(SeqStringGetChar) \ |
| 160 V(SeqStringSetChar) \ | 159 V(SeqStringSetChar) \ |
| 161 V(ShiftI) \ | 160 V(ShiftI) \ |
| 162 V(SmiTag) \ | 161 V(SmiTag) \ |
| 163 V(SmiUntag) \ | 162 V(SmiUntag) \ |
| 164 V(StackCheck) \ | 163 V(StackCheck) \ |
| 165 V(StoreCodeEntry) \ | 164 V(StoreCodeEntry) \ |
| 166 V(StoreContextSlot) \ | 165 V(StoreContextSlot) \ |
| (...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1332 } | 1331 } |
| 1333 | 1332 |
| 1334 LOperand* string() const { return inputs_[0]; } | 1333 LOperand* string() const { return inputs_[0]; } |
| 1335 LOperand* index() const { return inputs_[1]; } | 1334 LOperand* index() const { return inputs_[1]; } |
| 1336 | 1335 |
| 1337 DECLARE_CONCRETE_INSTRUCTION(SeqStringGetChar, "seq-string-get-char") | 1336 DECLARE_CONCRETE_INSTRUCTION(SeqStringGetChar, "seq-string-get-char") |
| 1338 DECLARE_HYDROGEN_ACCESSOR(SeqStringGetChar) | 1337 DECLARE_HYDROGEN_ACCESSOR(SeqStringGetChar) |
| 1339 }; | 1338 }; |
| 1340 | 1339 |
| 1341 | 1340 |
| 1342 class LSeqStringSetChar V8_FINAL : public LTemplateInstruction<1, 3, 0> { | 1341 class LSeqStringSetChar V8_FINAL : public LTemplateInstruction<1, 4, 0> { |
| 1343 public: | 1342 public: |
| 1344 LSeqStringSetChar(LOperand* string, | 1343 LSeqStringSetChar(LOperand* context, |
| 1344 LOperand* string, |
| 1345 LOperand* index, | 1345 LOperand* index, |
| 1346 LOperand* value) { | 1346 LOperand* value) { |
| 1347 inputs_[0] = string; | 1347 inputs_[0] = context; |
| 1348 inputs_[1] = index; | 1348 inputs_[1] = string; |
| 1349 inputs_[2] = value; | 1349 inputs_[2] = index; |
| 1350 inputs_[3] = value; |
| 1350 } | 1351 } |
| 1351 | 1352 |
| 1352 LOperand* string() { return inputs_[0]; } | 1353 LOperand* string() { return inputs_[1]; } |
| 1353 LOperand* index() { return inputs_[1]; } | 1354 LOperand* index() { return inputs_[2]; } |
| 1354 LOperand* value() { return inputs_[2]; } | 1355 LOperand* value() { return inputs_[3]; } |
| 1355 | 1356 |
| 1356 DECLARE_CONCRETE_INSTRUCTION(SeqStringSetChar, "seq-string-set-char") | 1357 DECLARE_CONCRETE_INSTRUCTION(SeqStringSetChar, "seq-string-set-char") |
| 1357 DECLARE_HYDROGEN_ACCESSOR(SeqStringSetChar) | 1358 DECLARE_HYDROGEN_ACCESSOR(SeqStringSetChar) |
| 1358 }; | 1359 }; |
| 1359 | 1360 |
| 1360 | 1361 |
| 1361 class LThrow V8_FINAL : public LTemplateInstruction<0, 2, 0> { | 1362 class LThrow V8_FINAL : public LTemplateInstruction<0, 2, 0> { |
| 1362 public: | 1363 public: |
| 1363 explicit LThrow(LOperand* context, LOperand* value) { | 1364 explicit LThrow(LOperand* context, LOperand* value) { |
| 1364 inputs_[0] = context; | 1365 inputs_[0] = context; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1415 } | 1416 } |
| 1416 | 1417 |
| 1417 LOperand* left() { return inputs_[0]; } | 1418 LOperand* left() { return inputs_[0]; } |
| 1418 LOperand* right() { return inputs_[1]; } | 1419 LOperand* right() { return inputs_[1]; } |
| 1419 | 1420 |
| 1420 DECLARE_CONCRETE_INSTRUCTION(Power, "power") | 1421 DECLARE_CONCRETE_INSTRUCTION(Power, "power") |
| 1421 DECLARE_HYDROGEN_ACCESSOR(Power) | 1422 DECLARE_HYDROGEN_ACCESSOR(Power) |
| 1422 }; | 1423 }; |
| 1423 | 1424 |
| 1424 | 1425 |
| 1425 class LRandom V8_FINAL : public LTemplateInstruction<1, 1, 3> { | |
| 1426 public: | |
| 1427 LRandom(LOperand* global_object, | |
| 1428 LOperand* scratch, | |
| 1429 LOperand* scratch2, | |
| 1430 LOperand* scratch3) { | |
| 1431 inputs_[0] = global_object; | |
| 1432 temps_[0] = scratch; | |
| 1433 temps_[1] = scratch2; | |
| 1434 temps_[2] = scratch3; | |
| 1435 } | |
| 1436 | |
| 1437 LOperand* global_object() { return inputs_[0]; } | |
| 1438 LOperand* scratch() const { return temps_[0]; } | |
| 1439 LOperand* scratch2() const { return temps_[1]; } | |
| 1440 LOperand* scratch3() const { return temps_[2]; } | |
| 1441 | |
| 1442 DECLARE_CONCRETE_INSTRUCTION(Random, "random") | |
| 1443 DECLARE_HYDROGEN_ACCESSOR(Random) | |
| 1444 }; | |
| 1445 | |
| 1446 | |
| 1447 class LArithmeticD V8_FINAL : public LTemplateInstruction<1, 2, 0> { | 1426 class LArithmeticD V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
| 1448 public: | 1427 public: |
| 1449 LArithmeticD(Token::Value op, LOperand* left, LOperand* right) | 1428 LArithmeticD(Token::Value op, LOperand* left, LOperand* right) |
| 1450 : op_(op) { | 1429 : op_(op) { |
| 1451 inputs_[0] = left; | 1430 inputs_[0] = left; |
| 1452 inputs_[1] = right; | 1431 inputs_[1] = right; |
| 1453 } | 1432 } |
| 1454 | 1433 |
| 1455 Token::Value op() const { return op_; } | 1434 Token::Value op() const { return op_; } |
| 1456 LOperand* left() { return inputs_[0]; } | 1435 LOperand* left() { return inputs_[0]; } |
| (...skipping 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2864 | 2843 |
| 2865 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2844 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2866 }; | 2845 }; |
| 2867 | 2846 |
| 2868 #undef DECLARE_HYDROGEN_ACCESSOR | 2847 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2869 #undef DECLARE_CONCRETE_INSTRUCTION | 2848 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2870 | 2849 |
| 2871 } } // namespace v8::int | 2850 } } // namespace v8::int |
| 2872 | 2851 |
| 2873 #endif // V8_X64_LITHIUM_X64_H_ | 2852 #endif // V8_X64_LITHIUM_X64_H_ |
| OLD | NEW |