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 1557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1568 } | 1568 } |
1569 | 1569 |
1570 LOperand* elements() { return inputs_[0]; } | 1570 LOperand* elements() { return inputs_[0]; } |
1571 LOperand* key() { return inputs_[1]; } | 1571 LOperand* key() { return inputs_[1]; } |
1572 ElementsKind elements_kind() const { | 1572 ElementsKind elements_kind() const { |
1573 return hydrogen()->elements_kind(); | 1573 return hydrogen()->elements_kind(); |
1574 } | 1574 } |
1575 bool is_external() const { | 1575 bool is_external() const { |
1576 return hydrogen()->is_external(); | 1576 return hydrogen()->is_external(); |
1577 } | 1577 } |
| 1578 bool is_fixed_typed_array() const { |
| 1579 return hydrogen()->is_fixed_typed_array(); |
| 1580 } |
| 1581 bool is_typed_elements() const { |
| 1582 return is_external() || is_fixed_typed_array(); |
| 1583 } |
1578 | 1584 |
1579 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") | 1585 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") |
1580 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) | 1586 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) |
1581 | 1587 |
1582 virtual void PrintDataTo(StringStream* stream); | 1588 virtual void PrintDataTo(StringStream* stream); |
1583 uint32_t additional_index() const { return hydrogen()->index_offset(); } | 1589 uint32_t additional_index() const { return hydrogen()->index_offset(); } |
1584 }; | 1590 }; |
1585 | 1591 |
1586 | 1592 |
1587 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { | 1593 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { |
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2200 | 2206 |
2201 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> { | 2207 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> { |
2202 public: | 2208 public: |
2203 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) { | 2209 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) { |
2204 inputs_[0] = object; | 2210 inputs_[0] = object; |
2205 inputs_[1] = key; | 2211 inputs_[1] = key; |
2206 inputs_[2] = value; | 2212 inputs_[2] = value; |
2207 } | 2213 } |
2208 | 2214 |
2209 bool is_external() const { return hydrogen()->is_external(); } | 2215 bool is_external() const { return hydrogen()->is_external(); } |
| 2216 bool is_fixed_typed_array() const { |
| 2217 return hydrogen()->is_fixed_typed_array(); |
| 2218 } |
| 2219 bool is_typed_elements() const { |
| 2220 return is_external() || is_fixed_typed_array(); |
| 2221 } |
2210 LOperand* elements() { return inputs_[0]; } | 2222 LOperand* elements() { return inputs_[0]; } |
2211 LOperand* key() { return inputs_[1]; } | 2223 LOperand* key() { return inputs_[1]; } |
2212 LOperand* value() { return inputs_[2]; } | 2224 LOperand* value() { return inputs_[2]; } |
2213 ElementsKind elements_kind() const { | 2225 ElementsKind elements_kind() const { |
2214 return hydrogen()->elements_kind(); | 2226 return hydrogen()->elements_kind(); |
2215 } | 2227 } |
2216 | 2228 |
2217 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") | 2229 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") |
2218 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) | 2230 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) |
2219 | 2231 |
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2806 | 2818 |
2807 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2819 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2808 }; | 2820 }; |
2809 | 2821 |
2810 #undef DECLARE_HYDROGEN_ACCESSOR | 2822 #undef DECLARE_HYDROGEN_ACCESSOR |
2811 #undef DECLARE_CONCRETE_INSTRUCTION | 2823 #undef DECLARE_CONCRETE_INSTRUCTION |
2812 | 2824 |
2813 } } // namespace v8::internal | 2825 } } // namespace v8::internal |
2814 | 2826 |
2815 #endif // V8_MIPS_LITHIUM_MIPS_H_ | 2827 #endif // V8_MIPS_LITHIUM_MIPS_H_ |
OLD | NEW |