OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 1545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1556 }; | 1556 }; |
1557 | 1557 |
1558 | 1558 |
1559 class LStoreNamedField: public LStoreNamed { | 1559 class LStoreNamedField: public LStoreNamed { |
1560 public: | 1560 public: |
1561 LStoreNamedField(LOperand* obj, | 1561 LStoreNamedField(LOperand* obj, |
1562 Handle<Object> name, | 1562 Handle<Object> name, |
1563 LOperand* val, | 1563 LOperand* val, |
1564 bool in_object, | 1564 bool in_object, |
1565 int offset, | 1565 int offset, |
1566 LOperand* temp, | |
1567 bool needs_write_barrier, | 1566 bool needs_write_barrier, |
1568 Handle<Map> transition) | 1567 Handle<Map> transition) |
1569 : LStoreNamed(obj, name, val), | 1568 : LStoreNamed(obj, name, val), |
1570 is_in_object_(in_object), | 1569 is_in_object_(in_object), |
1571 offset_(offset), | 1570 offset_(offset), |
1572 temp_(temp), | |
1573 needs_write_barrier_(needs_write_barrier), | 1571 needs_write_barrier_(needs_write_barrier), |
1574 transition_(transition) { } | 1572 transition_(transition) { } |
1575 | 1573 |
1576 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") | 1574 DECLARE_CONCRETE_INSTRUCTION(StoreNamedField, "store-named-field") |
1577 | 1575 |
1578 bool is_in_object() { return is_in_object_; } | 1576 bool is_in_object() { return is_in_object_; } |
1579 int offset() { return offset_; } | 1577 int offset() { return offset_; } |
1580 LOperand* temp() { return temp_; } | |
1581 bool needs_write_barrier() { return needs_write_barrier_; } | 1578 bool needs_write_barrier() { return needs_write_barrier_; } |
1582 Handle<Map> transition() const { return transition_; } | 1579 Handle<Map> transition() const { return transition_; } |
1583 void set_transition(Handle<Map> map) { transition_ = map; } | 1580 void set_transition(Handle<Map> map) { transition_ = map; } |
1584 | 1581 |
1585 private: | 1582 private: |
1586 bool is_in_object_; | 1583 bool is_in_object_; |
1587 int offset_; | 1584 int offset_; |
1588 LOperand* temp_; | |
1589 bool needs_write_barrier_; | 1585 bool needs_write_barrier_; |
1590 Handle<Map> transition_; | 1586 Handle<Map> transition_; |
1591 }; | 1587 }; |
1592 | 1588 |
1593 | 1589 |
1594 class LStoreNamedGeneric: public LStoreNamed { | 1590 class LStoreNamedGeneric: public LStoreNamed { |
1595 public: | 1591 public: |
1596 LStoreNamedGeneric(LOperand* obj, | 1592 LStoreNamedGeneric(LOperand* obj, |
1597 Handle<Object> name, | 1593 Handle<Object> name, |
1598 LOperand* val) | 1594 LOperand* val) |
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2131 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2127 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2132 }; | 2128 }; |
2133 | 2129 |
2134 #undef DECLARE_HYDROGEN_ACCESSOR | 2130 #undef DECLARE_HYDROGEN_ACCESSOR |
2135 #undef DECLARE_INSTRUCTION | 2131 #undef DECLARE_INSTRUCTION |
2136 #undef DECLARE_CONCRETE_INSTRUCTION | 2132 #undef DECLARE_CONCRETE_INSTRUCTION |
2137 | 2133 |
2138 } } // namespace v8::internal | 2134 } } // namespace v8::internal |
2139 | 2135 |
2140 #endif // V8_ARM_LITHIUM_ARM_H_ | 2136 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |