Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index edb7903cc24582fe4b631bb530a6bdaf232376eb..16a989f85c0dddb0f80b179ef76bde9b46173cff 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1811,6 +1811,14 @@ 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); |
+ |
// During garbage collection, the map word of a heap object does not |
// necessarily contain a map pointer. |
inline MapWord map_word(); |
@@ -2995,6 +3003,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 +8769,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 |