| 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_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_ARM64_LITHIUM_ARM64_H_ |
| 6 #define V8_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_ARM64_LITHIUM_ARM64_H_ |
| 7 | 7 |
| 8 #include "src/hydrogen.h" | 8 #include "src/hydrogen.h" |
| 9 #include "src/lithium-allocator.h" | 9 #include "src/lithium-allocator.h" |
| 10 #include "src/lithium.h" | 10 #include "src/lithium.h" |
| (...skipping 1654 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1665 | 1665 |
| 1666 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") | 1666 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") |
| 1667 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) | 1667 DECLARE_HYDROGEN_ACCESSOR(LoadContextSlot) |
| 1668 | 1668 |
| 1669 int slot_index() const { return hydrogen()->slot_index(); } | 1669 int slot_index() const { return hydrogen()->slot_index(); } |
| 1670 | 1670 |
| 1671 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 1671 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 1672 }; | 1672 }; |
| 1673 | 1673 |
| 1674 | 1674 |
| 1675 class LLoadNamedField V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 1675 class LLoadNamedField V8_FINAL : public LTemplateInstruction<1, 2, 0> { |
| 1676 public: | 1676 public: |
| 1677 explicit LLoadNamedField(LOperand* object) { | 1677 LLoadNamedField(LOperand* object, LOperand* object_properties = NULL) { |
| 1678 inputs_[0] = object; | 1678 inputs_[0] = object; |
| 1679 inputs_[1] = object_properties; |
| 1679 } | 1680 } |
| 1680 | 1681 |
| 1681 LOperand* object() { return inputs_[0]; } | 1682 LOperand* object() { return inputs_[0]; } |
| 1683 LOperand* object_properties() { return inputs_[1]; } |
| 1682 | 1684 |
| 1683 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") | 1685 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") |
| 1684 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) | 1686 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) |
| 1685 }; | 1687 }; |
| 1686 | 1688 |
| 1687 | 1689 |
| 1688 class LFunctionLiteral V8_FINAL : public LTemplateInstruction<1, 1, 0> { | 1690 class LFunctionLiteral V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
| 1689 public: | 1691 public: |
| 1690 explicit LFunctionLiteral(LOperand* context) { | 1692 explicit LFunctionLiteral(LOperand* context) { |
| 1691 inputs_[0] = context; | 1693 inputs_[0] = context; |
| (...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2544 | 2546 |
| 2545 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") | 2547 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
| 2546 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) | 2548 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) |
| 2547 | 2549 |
| 2548 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2550 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 2549 | 2551 |
| 2550 StrictMode strict_mode() { return hydrogen()->strict_mode(); } | 2552 StrictMode strict_mode() { return hydrogen()->strict_mode(); } |
| 2551 }; | 2553 }; |
| 2552 | 2554 |
| 2553 | 2555 |
| 2554 class LStoreNamedField V8_FINAL : public LTemplateInstruction<0, 2, 2> { | 2556 class LStoreNamedField V8_FINAL : public LTemplateInstruction<0, 3, 2> { |
| 2555 public: | 2557 public: |
| 2556 LStoreNamedField(LOperand* object, LOperand* value, | 2558 LStoreNamedField(LOperand* object, LOperand* value, |
| 2557 LOperand* temp0, LOperand* temp1) { | 2559 LOperand* temp0, LOperand* temp1, |
| 2560 LOperand* object_properties = NULL) { |
| 2558 inputs_[0] = object; | 2561 inputs_[0] = object; |
| 2559 inputs_[1] = value; | 2562 inputs_[1] = value; |
| 2563 inputs_[2] = object_properties; |
| 2560 temps_[0] = temp0; | 2564 temps_[0] = temp0; |
| 2561 temps_[1] = temp1; | 2565 temps_[1] = temp1; |
| 2562 } | 2566 } |
| 2563 | 2567 |
| 2564 LOperand* object() { return inputs_[0]; } | 2568 LOperand* object() { return inputs_[0]; } |
| 2565 LOperand* value() { return inputs_[1]; } | 2569 LOperand* value() { return inputs_[1]; } |
| 2570 LOperand* object_properties() { return inputs_[2]; } |
| 2566 LOperand* temp0() { return temps_[0]; } | 2571 LOperand* temp0() { return temps_[0]; } |
| 2567 LOperand* temp1() { return temps_[1]; } | 2572 LOperand* temp1() { return temps_[1]; } |
| 2568 | 2573 |
| 2569 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 2574 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
| 2570 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) | 2575 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) |
| 2571 | 2576 |
| 2572 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2577 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
| 2573 | 2578 |
| 2574 Representation representation() const { | 2579 Representation representation() const { |
| 2575 return hydrogen()->field_representation(); | 2580 return hydrogen()->field_representation(); |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3239 | 3244 |
| 3240 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3245 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 3241 }; | 3246 }; |
| 3242 | 3247 |
| 3243 #undef DECLARE_HYDROGEN_ACCESSOR | 3248 #undef DECLARE_HYDROGEN_ACCESSOR |
| 3244 #undef DECLARE_CONCRETE_INSTRUCTION | 3249 #undef DECLARE_CONCRETE_INSTRUCTION |
| 3245 | 3250 |
| 3246 } } // namespace v8::internal | 3251 } } // namespace v8::internal |
| 3247 | 3252 |
| 3248 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3253 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
| OLD | NEW |