| Index: src/objects-inl.h | 
| diff --git a/src/objects-inl.h b/src/objects-inl.h | 
| index 24c8c14f1ced7a1b8a266342cf287cf81f22b18a..2eb0073ef6558f53dd9d6fe23dbd4b3b0be8a3a6 100644 | 
| --- a/src/objects-inl.h | 
| +++ b/src/objects-inl.h | 
| @@ -6161,9 +6161,25 @@ bool JSFunction::IsInOptimizationQueue() { | 
| } | 
|  | 
|  | 
| -bool JSFunction::IsInobjectSlackTrackingInProgress() { | 
| -  return has_initial_map() && | 
| -         initial_map()->counter() >= Map::kSlackTrackingCounterEnd; | 
| +void JSFunction::CompleteInobjectSlackTrackingIfActive() { | 
| +  if (has_initial_map() && initial_map()->IsInobjectSlackTrackingInProgress()) { | 
| +    initial_map()->CompleteInobjectSlackTracking(); | 
| +  } | 
| +} | 
| + | 
| + | 
| +bool Map::IsInobjectSlackTrackingInProgress() { | 
| +  return counter() >= Map::kSlackTrackingCounterEnd; | 
| +} | 
| + | 
| + | 
| +void Map::InobjectSlackTrackingStep() { | 
| +  if (!IsInobjectSlackTrackingInProgress()) return; | 
| +  int counter = this->counter(); | 
| +  set_counter(counter - 1); | 
| +  if (counter == kSlackTrackingCounterEnd) { | 
| +    CompleteInobjectSlackTracking(); | 
| +  } | 
| } | 
|  | 
|  | 
|  |