Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index 116c92b54025c5ec938a81c04c0c4d87085d5460..c9a47c599c6ece3bade6c02acd0c50c39feebbf9 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -2474,6 +2474,7 @@ 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); |
| @@ -2488,6 +2489,13 @@ 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 potentially unique heap objects can be freely assigned |
|
Michael Starzinger
2012/05/24 14:28:54
The reasoning is slightly off, I would replace it
Toon Verwaest
2012/05/25 12:27:26
Done.
|
| + // without potentially causing memory leaks. A witness is always |
| + // stack-allocated right after creating a descriptor array. By allocating a witness, |
|
Michael Starzinger
2012/05/24 14:28:54
More than 80 characters.
Toon Verwaest
2012/05/25 12:27:26
Done.
|
| + // 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); |