| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 72b077bdb8e285ea8df77d33a60479735575524b..fec6c1dce70177ba432c6916d9b8dae50fab6b63 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -5484,17 +5484,18 @@ class Map: public HeapObject {
|
| class IsMigrationTarget : public BitField<bool, 25, 1> {};
|
| class IsStrong : public BitField<bool, 26, 1> {};
|
| class NewTargetIsBase : public BitField<bool, 27, 1> {};
|
| + // Bit 28 is free.
|
|
|
| // Keep this bit field at the very end for better code in
|
| // Builtins::kJSConstructStubGeneric stub.
|
| - // This counter is used for in-object slack tracking and for map aging.
|
| + // This counter is used for in-object slack tracking.
|
| // The in-object slack tracking is considered enabled when the counter is
|
| - // in the range [kSlackTrackingCounterStart, kSlackTrackingCounterEnd].
|
| - class Counter : public BitField<int, 28, 4> {};
|
| - static const int kSlackTrackingCounterStart = 14;
|
| - static const int kSlackTrackingCounterEnd = 8;
|
| - static const int kRetainingCounterStart = kSlackTrackingCounterEnd - 1;
|
| - static const int kRetainingCounterEnd = 0;
|
| + // non zero.
|
| + class ConstructionCounter : public BitField<int, 29, 3> {};
|
| + static const int kSlackTrackingCounterStart = 7;
|
| + static const int kSlackTrackingCounterEnd = 1;
|
| + static const int kNoSlackTracking = 0;
|
| + STATIC_ASSERT(kSlackTrackingCounterStart <= ConstructionCounter::kMax);
|
|
|
|
|
| // Inobject slack tracking is the way to reclaim unused inobject space.
|
| @@ -5763,8 +5764,8 @@ class Map: public HeapObject {
|
| inline bool is_stable();
|
| inline void set_migration_target(bool value);
|
| inline bool is_migration_target();
|
| - inline void set_counter(int value);
|
| - inline int counter();
|
| + inline void set_construction_counter(int value);
|
| + inline int construction_counter();
|
| inline void deprecate();
|
| inline bool is_deprecated();
|
| inline bool CanBeDeprecated();
|
|
|