OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 1206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1217 inputs_[0] = global_object; | 1217 inputs_[0] = global_object; |
1218 inputs_[1] = value; | 1218 inputs_[1] = value; |
1219 } | 1219 } |
1220 | 1220 |
1221 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") | 1221 DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic") |
1222 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) | 1222 DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric) |
1223 | 1223 |
1224 LOperand* global_object() { return InputAt(0); } | 1224 LOperand* global_object() { return InputAt(0); } |
1225 Handle<Object> name() const { return hydrogen()->name(); } | 1225 Handle<Object> name() const { return hydrogen()->name(); } |
1226 LOperand* value() { return InputAt(1); } | 1226 LOperand* value() { return InputAt(1); } |
1227 bool strict_mode() { return hydrogen()->strict_mode(); } | 1227 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); } |
1228 }; | 1228 }; |
1229 | 1229 |
1230 | 1230 |
1231 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { | 1231 class LLoadContextSlot: public LTemplateInstruction<1, 1, 0> { |
1232 public: | 1232 public: |
1233 explicit LLoadContextSlot(LOperand* context) { | 1233 explicit LLoadContextSlot(LOperand* context) { |
1234 inputs_[0] = context; | 1234 inputs_[0] = context; |
1235 } | 1235 } |
1236 | 1236 |
1237 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") | 1237 DECLARE_CONCRETE_INSTRUCTION(LoadContextSlot, "load-context-slot") |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1566 | 1566 |
1567 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") | 1567 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic") |
1568 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) | 1568 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric) |
1569 | 1569 |
1570 virtual void PrintDataTo(StringStream* stream); | 1570 virtual void PrintDataTo(StringStream* stream); |
1571 | 1571 |
1572 LOperand* object() { return inputs_[0]; } | 1572 LOperand* object() { return inputs_[0]; } |
1573 LOperand* value() { return inputs_[1]; } | 1573 LOperand* value() { return inputs_[1]; } |
1574 Handle<Object> name() const { return hydrogen()->name(); } | 1574 Handle<Object> name() const { return hydrogen()->name(); } |
1575 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); } | 1575 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); } |
1576 bool strict_mode() { return strict_mode_flag() == kStrictMode; } | |
1577 }; | 1576 }; |
1578 | 1577 |
1579 | 1578 |
1580 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { | 1579 class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> { |
1581 public: | 1580 public: |
1582 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { | 1581 LStoreKeyedFastElement(LOperand* obj, LOperand* key, LOperand* val) { |
1583 inputs_[0] = obj; | 1582 inputs_[0] = obj; |
1584 inputs_[1] = key; | 1583 inputs_[1] = key; |
1585 inputs_[2] = val; | 1584 inputs_[2] = val; |
1586 } | 1585 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1651 } | 1650 } |
1652 | 1651 |
1653 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") | 1652 DECLARE_CONCRETE_INSTRUCTION(StoreKeyedGeneric, "store-keyed-generic") |
1654 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) | 1653 DECLARE_HYDROGEN_ACCESSOR(StoreKeyedGeneric) |
1655 | 1654 |
1656 virtual void PrintDataTo(StringStream* stream); | 1655 virtual void PrintDataTo(StringStream* stream); |
1657 | 1656 |
1658 LOperand* object() { return inputs_[0]; } | 1657 LOperand* object() { return inputs_[0]; } |
1659 LOperand* key() { return inputs_[1]; } | 1658 LOperand* key() { return inputs_[1]; } |
1660 LOperand* value() { return inputs_[2]; } | 1659 LOperand* value() { return inputs_[2]; } |
1661 bool strict_mode() { return hydrogen()->strict_mode(); } | 1660 StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); } |
1662 }; | 1661 }; |
1663 | 1662 |
1664 | 1663 |
1665 class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> { | 1664 class LTransitionElementsKind: public LTemplateInstruction<1, 1, 2> { |
1666 public: | 1665 public: |
1667 LTransitionElementsKind(LOperand* object, | 1666 LTransitionElementsKind(LOperand* object, |
1668 LOperand* new_map_temp, | 1667 LOperand* new_map_temp, |
1669 LOperand* temp_reg) { | 1668 LOperand* temp_reg) { |
1670 inputs_[0] = object; | 1669 inputs_[0] = object; |
1671 temps_[0] = new_map_temp; | 1670 temps_[0] = new_map_temp; |
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2202 | 2201 |
2203 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2202 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2204 }; | 2203 }; |
2205 | 2204 |
2206 #undef DECLARE_HYDROGEN_ACCESSOR | 2205 #undef DECLARE_HYDROGEN_ACCESSOR |
2207 #undef DECLARE_CONCRETE_INSTRUCTION | 2206 #undef DECLARE_CONCRETE_INSTRUCTION |
2208 | 2207 |
2209 } } // namespace v8::int | 2208 } } // namespace v8::int |
2210 | 2209 |
2211 #endif // V8_X64_LITHIUM_X64_H_ | 2210 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |