| Index: src/objects.h
 | 
| diff --git a/src/objects.h b/src/objects.h
 | 
| index edb7903cc24582fe4b631bb530a6bdaf232376eb..95129f0a5f2f738e6ced346523fbe43140f0feef 100644
 | 
| --- a/src/objects.h
 | 
| +++ b/src/objects.h
 | 
| @@ -1811,6 +1811,22 @@ 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.
 | 
| +  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.
 | 
| +  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();
 | 
| @@ -2995,6 +3011,10 @@ 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 +8777,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
 | 
| 
 |