| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
| 6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 1651 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1662 | 1662 |
| 1663 | 1663 |
| 1664 // HeapObject is the superclass for all classes describing heap allocated | 1664 // HeapObject is the superclass for all classes describing heap allocated |
| 1665 // objects. | 1665 // objects. |
| 1666 class HeapObject: public Object { | 1666 class HeapObject: public Object { |
| 1667 public: | 1667 public: |
| 1668 // [map]: Contains a map which contains the object's reflective | 1668 // [map]: Contains a map which contains the object's reflective |
| 1669 // information. | 1669 // information. |
| 1670 inline Map* map() const; | 1670 inline Map* map() const; |
| 1671 inline void set_map(Map* value); | 1671 inline void set_map(Map* value); |
| 1672 |
| 1673 inline HeapObject** map_slot(); |
| 1674 |
| 1672 // The no-write-barrier version. This is OK if the object is white and in | 1675 // The no-write-barrier version. This is OK if the object is white and in |
| 1673 // new space, or if the value is an immortal immutable object, like the maps | 1676 // new space, or if the value is an immortal immutable object, like the maps |
| 1674 // of primitive (non-JS) objects like strings, heap numbers etc. | 1677 // of primitive (non-JS) objects like strings, heap numbers etc. |
| 1675 inline void set_map_no_write_barrier(Map* value); | 1678 inline void set_map_no_write_barrier(Map* value); |
| 1676 | 1679 |
| 1677 // Get the map using acquire load. | 1680 // Get the map using acquire load. |
| 1678 inline Map* synchronized_map(); | 1681 inline Map* synchronized_map(); |
| 1679 inline MapWord synchronized_map_word() const; | 1682 inline MapWord synchronized_map_word() const; |
| 1680 | 1683 |
| 1681 // Set the map using release store | 1684 // Set the map using release store |
| (...skipping 8520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10202 } | 10205 } |
| 10203 }; | 10206 }; |
| 10204 | 10207 |
| 10205 | 10208 |
| 10206 } // NOLINT, false-positive due to second-order macros. | 10209 } // NOLINT, false-positive due to second-order macros. |
| 10207 } // NOLINT, false-positive due to second-order macros. | 10210 } // NOLINT, false-positive due to second-order macros. |
| 10208 | 10211 |
| 10209 #include "src/objects/object-macros-undef.h" | 10212 #include "src/objects/object-macros-undef.h" |
| 10210 | 10213 |
| 10211 #endif // V8_OBJECTS_H_ | 10214 #endif // V8_OBJECTS_H_ |
| OLD | NEW |