| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 4fd29ad56227d368d2ebb0773c566f6cba3909b0..ba8b32d6eee99c5bdb4dce1a5303b37a07da7ab9 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -2474,7 +2474,12 @@ class DescriptorArray: public FixedArray {
|
| // Accessors for fetching instance descriptor at descriptor number.
|
| inline String* GetKey(int descriptor_number);
|
| inline Object* GetValue(int descriptor_number);
|
| + inline Object** GetValueSlot(int descriptor_number);
|
| inline PropertyDetails GetDetails(int descriptor_number);
|
| +
|
| + inline Object* RawGetValue(int descriptor_number);
|
| + inline PropertyDetails RawGetDetails(int descriptor_number);
|
| +
|
| inline PropertyType GetType(int descriptor_number);
|
| inline int GetFieldIndex(int descriptor_number);
|
| inline JSFunction* GetConstantFunction(int descriptor_number);
|
| @@ -2484,6 +2489,14 @@ class DescriptorArray: public FixedArray {
|
| inline bool IsTransitionOnly(int descriptor_number);
|
| inline bool IsNullDescriptor(int descriptor_number);
|
|
|
| + // WhitenessWitness is used to prove that a specific descriptor array is white
|
| + // (unmarked), so incremental write barriers can be skipped because the
|
| + // marking invariant cannot be broken and slots pointing into evacuation
|
| + // candidates will be discovered when the object is scanned.A witness is
|
| + // always stack-allocated right after creating a descriptor array. By
|
| + // allocating a witness, incremental marking is globally disabled. The witness
|
| + // is then passed along wherever needed to statically prove that the
|
| + // descriptor array is known to be white.
|
| class WhitenessWitness {
|
| public:
|
| inline explicit WhitenessWitness(DescriptorArray* array);
|
| @@ -2650,6 +2663,7 @@ class DescriptorArray: public FixedArray {
|
| FixedArray* GetContentArray() {
|
| return FixedArray::cast(get(kContentArrayIndex));
|
| }
|
| + inline FixedArray* RawGetContentArray();
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(DescriptorArray);
|
| };
|
|
|
|
|