| Index: src/objects.h
|
| ===================================================================
|
| --- src/objects.h (revision 564)
|
| +++ src/objects.h (working copy)
|
| @@ -166,6 +166,9 @@
|
| uint32_t value_;
|
| };
|
|
|
| +// Setter that skips the write barrier if mode is SKIP_WRITE_BARRIER.
|
| +enum WriteBarrierMode { SKIP_WRITE_BARRIER, UPDATE_WRITE_BARRIER };
|
| +
|
| // All Maps have a field instance_type containing a InstanceType.
|
| // It describes the type of the instances.
|
| //
|
| @@ -555,9 +558,10 @@
|
| inline void set_##name(bool value); \
|
|
|
|
|
| -#define DECL_ACCESSORS(name, type) \
|
| - inline type* name(); \
|
| - inline void set_##name(type* value);
|
| +#define DECL_ACCESSORS(name, type) \
|
| + inline type* name(); \
|
| + inline void set_##name(type* value, \
|
| + WriteBarrierMode mode = UPDATE_WRITE_BARRIER); \
|
|
|
|
|
| class StringStream;
|
| @@ -1041,6 +1045,9 @@
|
| // Casting.
|
| static inline HeapObject* cast(Object* obj);
|
|
|
| + // Return the write barrier mode for this.
|
| + inline WriteBarrierMode GetWriteBarrierMode();
|
| +
|
| // Dispatched behavior.
|
| void HeapObjectShortPrint(StringStream* accumulator);
|
| #ifdef DEBUG
|
| @@ -1355,6 +1362,11 @@
|
| inline Object* FastPropertyAt(int index);
|
| inline Object* FastPropertyAtPut(int index, Object* value);
|
|
|
| + // Access to set in object properties.
|
| + inline Object* InObjectPropertyAtPut(int index,
|
| + Object* value,
|
| + WriteBarrierMode mode
|
| + = UPDATE_WRITE_BARRIER);
|
|
|
| // initializes the body after properties slot, properties slot is
|
| // initialized by set_properties
|
| @@ -1479,17 +1491,14 @@
|
| inline Object* get(int index);
|
| inline void set(int index, Object* value);
|
|
|
| + // Setter with barrier mode.
|
| + inline void set(int index, Object* value, WriteBarrierMode mode);
|
| +
|
| // Setters for frequently used oddballs located in old space.
|
| inline void set_undefined(int index);
|
| inline void set_null(int index);
|
| inline void set_the_hole(int index);
|
|
|
| - // Setter that skips the write barrier if mode is SKIP_WRITE_BARRIER.
|
| - enum WriteBarrierMode { SKIP_WRITE_BARRIER, UPDATE_WRITE_BARRIER };
|
| - inline void set(int index, Object* value, WriteBarrierMode mode);
|
| - // Return the write barrier mode for this.
|
| - inline WriteBarrierMode GetWriteBarrierMode();
|
| -
|
| // Copy operations.
|
| inline Object* Copy();
|
| Object* CopySize(int new_length);
|
|
|