| 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();
|
|
|