Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index e1f1d3bad4df0aaf18bb5379caaf1a5c655d5f5f..76503e7975f85cc7d6e4af6cddfd960914337dfc 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -2375,23 +2375,6 @@ class FixedArray: public FixedArrayBase { |
} |
}; |
- // WhitenessWitness is used to prove that a 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 an array. By allocating a |
- // witness, incremental marking is globally disabled. The witness is then |
- // passed along wherever needed to statically prove that the array is known to |
- // be white. |
- class WhitenessWitness { |
- public: |
- inline explicit WhitenessWitness(FixedArray* array); |
- inline ~WhitenessWitness(); |
- |
- private: |
- IncrementalMarking* marking_; |
- }; |
- |
protected: |
// Set operation on FixedArray without using write barriers. Can |
// only be used for storing old space objects or smis. |
@@ -2475,6 +2458,23 @@ class FixedDoubleArray: public FixedArrayBase { |
// [length() - kDescriptorSize]: last key |
class DescriptorArray: public FixedArray { |
public: |
+ // WhitenessWitness is used to prove that a 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 an array. By allocating a |
+ // witness, incremental marking is globally disabled. The witness is then |
+ // passed along wherever needed to statically prove that the array is known to |
+ // be white. |
+ class WhitenessWitness { |
+ public: |
+ inline explicit WhitenessWitness(FixedArray* array); |
+ inline ~WhitenessWitness(); |
+ |
+ private: |
+ IncrementalMarking* marking_; |
+ }; |
+ |
// Returns true for both shared empty_descriptor_array and for smis, which the |
// map uses to encode additional bit fields when the descriptor array is not |
// yet used. |