OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_ARM_LITHIUM_ARM_H_ | 5 #ifndef V8_ARM_LITHIUM_ARM_H_ |
6 #define V8_ARM_LITHIUM_ARM_H_ | 6 #define V8_ARM_LITHIUM_ARM_H_ |
7 | 7 |
8 #include "hydrogen.h" | 8 #include "hydrogen.h" |
9 #include "lithium-allocator.h" | 9 #include "lithium-allocator.h" |
10 #include "lithium.h" | 10 #include "lithium.h" |
(...skipping 1630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1641 return hydrogen()->is_fixed_typed_array(); | 1641 return hydrogen()->is_fixed_typed_array(); |
1642 } | 1642 } |
1643 bool is_typed_elements() const { | 1643 bool is_typed_elements() const { |
1644 return is_external() || is_fixed_typed_array(); | 1644 return is_external() || is_fixed_typed_array(); |
1645 } | 1645 } |
1646 | 1646 |
1647 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") | 1647 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") |
1648 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) | 1648 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) |
1649 | 1649 |
1650 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 1650 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
1651 uint32_t additional_index() const { return hydrogen()->index_offset(); } | 1651 uint32_t base_offset() const { return hydrogen()->base_offset(); } |
1652 }; | 1652 }; |
1653 | 1653 |
1654 | 1654 |
1655 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { | 1655 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { |
1656 public: | 1656 public: |
1657 LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key) { | 1657 LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key) { |
1658 inputs_[0] = context; | 1658 inputs_[0] = context; |
1659 inputs_[1] = object; | 1659 inputs_[1] = object; |
1660 inputs_[2] = key; | 1660 inputs_[2] = key; |
1661 } | 1661 } |
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2216 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) | 2216 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) |
2217 | 2217 |
2218 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 2218 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; |
2219 bool NeedsCanonicalization() { | 2219 bool NeedsCanonicalization() { |
2220 if (hydrogen()->value()->IsAdd() || hydrogen()->value()->IsSub() || | 2220 if (hydrogen()->value()->IsAdd() || hydrogen()->value()->IsSub() || |
2221 hydrogen()->value()->IsMul() || hydrogen()->value()->IsDiv()) { | 2221 hydrogen()->value()->IsMul() || hydrogen()->value()->IsDiv()) { |
2222 return false; | 2222 return false; |
2223 } | 2223 } |
2224 return hydrogen()->NeedsCanonicalization(); | 2224 return hydrogen()->NeedsCanonicalization(); |
2225 } | 2225 } |
2226 uint32_t additional_index() const { return hydrogen()->index_offset(); } | 2226 uint32_t base_offset() const { return hydrogen()->base_offset(); } |
2227 }; | 2227 }; |
2228 | 2228 |
2229 | 2229 |
2230 class LStoreKeyedGeneric V8_FINAL : public LTemplateInstruction<0, 4, 0> { | 2230 class LStoreKeyedGeneric V8_FINAL : public LTemplateInstruction<0, 4, 0> { |
2231 public: | 2231 public: |
2232 LStoreKeyedGeneric(LOperand* context, | 2232 LStoreKeyedGeneric(LOperand* context, |
2233 LOperand* obj, | 2233 LOperand* obj, |
2234 LOperand* key, | 2234 LOperand* key, |
2235 LOperand* value) { | 2235 LOperand* value) { |
2236 inputs_[0] = context; | 2236 inputs_[0] = context; |
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2856 | 2856 |
2857 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2857 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2858 }; | 2858 }; |
2859 | 2859 |
2860 #undef DECLARE_HYDROGEN_ACCESSOR | 2860 #undef DECLARE_HYDROGEN_ACCESSOR |
2861 #undef DECLARE_CONCRETE_INSTRUCTION | 2861 #undef DECLARE_CONCRETE_INSTRUCTION |
2862 | 2862 |
2863 } } // namespace v8::internal | 2863 } } // namespace v8::internal |
2864 | 2864 |
2865 #endif // V8_ARM_LITHIUM_ARM_H_ | 2865 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |