Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index edb7903cc24582fe4b631bb530a6bdaf232376eb..bd8a9ca54e4a342ac4674906dcd764e66c4b042d 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -1811,11 +1811,28 @@ class HeapObject: public Object { |
| // of primitive (non-JS) objects like strings, heap numbers etc. |
| inline void set_map_no_write_barrier(Map* value); |
| + // Get the map using acquire load. |
|
Hannes Payer (out of office)
2014/03/31 09:42:27
We could templetize the getters and setters. I thi
|
| + inline Map* synchronized_map(); |
| + inline MapWord synchronized_map_word(); |
| + |
| + // Set the map using release store |
| + inline void synchronized_set_map(Map* value); |
| + inline void synchronized_set_map_word(MapWord map_word); |
| + |
| + // Get the map using no barrier load. |
| + inline Map* no_barrier_map(); |
| + inline MapWord no_barrier_map_word(); |
| + |
| + // Set the map using no barrier store store |
| + inline void no_barrier_set_map(Map* value); |
| + inline void no_barrier_set_map_word(MapWord map_word); |
| + |
| // During garbage collection, the map word of a heap object does not |
| // necessarily contain a map pointer. |
| inline MapWord map_word(); |
| inline void set_map_word(MapWord map_word); |
| + |
| // The Heap the object was allocated in. Used also to access Isolate. |
| inline Heap* GetHeap(); |
| @@ -2995,6 +3012,11 @@ class FixedArrayBase: public HeapObject { |
| inline int length(); |
| inline void set_length(int value); |
| + // Get and set the length using acquire loads and release stores. |
| + inline int synchronized_length(); |
| + inline void synchronized_set_length(int value); |
| + |
| + |
| inline static FixedArrayBase* cast(Object* object); |
| // Layout description. |
| @@ -8757,6 +8779,11 @@ class String: public Name { |
| inline int length(); |
| inline void set_length(int value); |
| + // Get and set the length of the string using acquire loads and release |
| + // stores. |
| + inline int synchronized_length(); |
| + inline void synchronized_set_length(int value); |
| + |
| // Returns whether this string has only ASCII chars, i.e. all of them can |
| // be ASCII encoded. This might be the case even if the string is |
| // two-byte. Such strings may appear when the embedder prefers |