OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ |
6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ |
7 | 7 |
8 #include "src/crankshaft/hydrogen.h" | 8 #include "src/crankshaft/hydrogen.h" |
9 #include "src/crankshaft/lithium.h" | 9 #include "src/crankshaft/lithium.h" |
10 #include "src/crankshaft/lithium-allocator.h" | 10 #include "src/crankshaft/lithium-allocator.h" |
(...skipping 1450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1461 } | 1461 } |
1462 | 1462 |
1463 LOperand* context() const { return inputs_[0]; } | 1463 LOperand* context() const { return inputs_[0]; } |
1464 LOperand* left() const { return inputs_[1]; } | 1464 LOperand* left() const { return inputs_[1]; } |
1465 LOperand* right() const { return inputs_[2]; } | 1465 LOperand* right() const { return inputs_[2]; } |
1466 | 1466 |
1467 DECLARE_CONCRETE_INSTRUCTION(InstanceOf, "instance-of") | 1467 DECLARE_CONCRETE_INSTRUCTION(InstanceOf, "instance-of") |
1468 }; | 1468 }; |
1469 | 1469 |
1470 | 1470 |
1471 class LHasInPrototypeChainAndBranch final : public LControlInstruction<2, 1> { | 1471 class LHasInPrototypeChainAndBranch final : public LControlInstruction<2, 2> { |
1472 public: | 1472 public: |
1473 LHasInPrototypeChainAndBranch(LOperand* object, LOperand* prototype, | 1473 LHasInPrototypeChainAndBranch(LOperand* object, LOperand* prototype, |
1474 LOperand* scratch) { | 1474 LOperand* scratch1, LOperand* scratch2) { |
1475 inputs_[0] = object; | 1475 inputs_[0] = object; |
1476 inputs_[1] = prototype; | 1476 inputs_[1] = prototype; |
1477 temps_[0] = scratch; | 1477 temps_[0] = scratch1; |
| 1478 temps_[1] = scratch2; |
1478 } | 1479 } |
1479 | 1480 |
1480 LOperand* object() const { return inputs_[0]; } | 1481 LOperand* object() const { return inputs_[0]; } |
1481 LOperand* prototype() const { return inputs_[1]; } | 1482 LOperand* prototype() const { return inputs_[1]; } |
1482 LOperand* scratch() const { return temps_[0]; } | 1483 LOperand* scratch1() const { return temps_[0]; } |
| 1484 LOperand* scratch2() const { return temps_[1]; } |
1483 | 1485 |
1484 DECLARE_CONCRETE_INSTRUCTION(HasInPrototypeChainAndBranch, | 1486 DECLARE_CONCRETE_INSTRUCTION(HasInPrototypeChainAndBranch, |
1485 "has-in-prototype-chain-and-branch") | 1487 "has-in-prototype-chain-and-branch") |
1486 DECLARE_HYDROGEN_ACCESSOR(HasInPrototypeChainAndBranch) | 1488 DECLARE_HYDROGEN_ACCESSOR(HasInPrototypeChainAndBranch) |
1487 }; | 1489 }; |
1488 | 1490 |
1489 | 1491 |
1490 class LInteger32ToDouble final : public LTemplateInstruction<1, 1, 0> { | 1492 class LInteger32ToDouble final : public LTemplateInstruction<1, 1, 0> { |
1491 public: | 1493 public: |
1492 explicit LInteger32ToDouble(LOperand* value) { | 1494 explicit LInteger32ToDouble(LOperand* value) { |
(...skipping 1668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3161 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3163 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3162 }; | 3164 }; |
3163 | 3165 |
3164 #undef DECLARE_HYDROGEN_ACCESSOR | 3166 #undef DECLARE_HYDROGEN_ACCESSOR |
3165 #undef DECLARE_CONCRETE_INSTRUCTION | 3167 #undef DECLARE_CONCRETE_INSTRUCTION |
3166 | 3168 |
3167 } // namespace internal | 3169 } // namespace internal |
3168 } // namespace v8 | 3170 } // namespace v8 |
3169 | 3171 |
3170 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ | 3172 #endif // V8_CRANKSHAFT_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |