| Index: src/heap/objects-visiting.cc
 | 
| diff --git a/src/heap/objects-visiting.cc b/src/heap/objects-visiting.cc
 | 
| index cf9fb5ed26210cee5972269ca33ec04195291dd8..a0df1f50c03800af72fbc0088accd4f3af3e6e4f 100644
 | 
| --- a/src/heap/objects-visiting.cc
 | 
| +++ b/src/heap/objects-visiting.cc
 | 
| @@ -40,7 +40,8 @@
 | 
|          return kVisitSlicedString;
 | 
|  
 | 
|        case kExternalStringTag:
 | 
| -        return kVisitDataObject;
 | 
| +        return GetVisitorIdForSize(kVisitDataObject, kVisitDataObjectGeneric,
 | 
| +                                   instance_size, has_unboxed_fields);
 | 
|  
 | 
|        case kThinStringTag:
 | 
|          return kVisitThinString;
 | 
| @@ -96,7 +97,8 @@
 | 
|        return kVisitSharedFunctionInfo;
 | 
|  
 | 
|      case JS_PROXY_TYPE:
 | 
| -      return kVisitStruct;
 | 
| +      return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric,
 | 
| +                                 instance_size, has_unboxed_fields);
 | 
|  
 | 
|      case SYMBOL_TYPE:
 | 
|        return kVisitSymbol;
 | 
| @@ -164,19 +166,24 @@
 | 
|      case JS_PROMISE_CAPABILITY_TYPE:
 | 
|      case JS_PROMISE_TYPE:
 | 
|      case JS_BOUND_FUNCTION_TYPE:
 | 
| -      return has_unboxed_fields ? kVisitJSObject : kVisitJSObjectFast;
 | 
| +      return GetVisitorIdForSize(kVisitJSObject, kVisitJSObjectGeneric,
 | 
| +                                 instance_size, has_unboxed_fields);
 | 
|      case JS_API_OBJECT_TYPE:
 | 
|      case JS_SPECIAL_API_OBJECT_TYPE:
 | 
| -      return kVisitJSApiObject;
 | 
| +      return GetVisitorIdForSize(kVisitJSApiObject, kVisitJSApiObjectGeneric,
 | 
| +                                 instance_size, has_unboxed_fields);
 | 
|  
 | 
|      case JS_FUNCTION_TYPE:
 | 
|        return kVisitJSFunction;
 | 
|  
 | 
|      case FILLER_TYPE:
 | 
| +      if (instance_size == kPointerSize) return kVisitDataObjectGeneric;
 | 
| +    // Fall through.
 | 
|      case FOREIGN_TYPE:
 | 
|      case HEAP_NUMBER_TYPE:
 | 
|      case MUTABLE_HEAP_NUMBER_TYPE:
 | 
| -      return kVisitDataObject;
 | 
| +      return GetVisitorIdForSize(kVisitDataObject, kVisitDataObjectGeneric,
 | 
| +                                 instance_size, has_unboxed_fields);
 | 
|  
 | 
|      case FIXED_UINT8_ARRAY_TYPE:
 | 
|      case FIXED_INT8_ARRAY_TYPE:
 | 
| @@ -198,7 +205,8 @@
 | 
|          return kVisitAllocationSite;
 | 
|        }
 | 
|  
 | 
| -      return kVisitStruct;
 | 
| +      return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric,
 | 
| +                                 instance_size, has_unboxed_fields);
 | 
|  
 | 
|      default:
 | 
|        UNREACHABLE();
 | 
| 
 |