Index: src/heap/objects-visiting.cc |
diff --git a/src/heap/objects-visiting.cc b/src/heap/objects-visiting.cc |
index 90f1152cc3033152be944ac078b53bb164ab6d26..22d3aba7ec6cc0a1aeac9db70a3fc31705e739fc 100644 |
--- a/src/heap/objects-visiting.cc |
+++ b/src/heap/objects-visiting.cc |
@@ -79,6 +79,14 @@ |
case WEAK_CELL_TYPE: |
return kVisitWeakCell; |
+ case JS_SET_TYPE: |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ JSSet::kSize, has_unboxed_fields); |
+ |
+ case JS_MAP_TYPE: |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ JSMap::kSize, has_unboxed_fields); |
+ |
case JS_WEAK_MAP_TYPE: |
case JS_WEAK_SET_TYPE: |
return kVisitJSWeakCollection; |
@@ -89,15 +97,23 @@ |
case SHARED_FUNCTION_INFO_TYPE: |
return kVisitSharedFunctionInfo; |
- case JS_SET_TYPE: |
- case JS_MAP_TYPE: |
case JS_PROXY_TYPE: |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ JSProxy::kSize, has_unboxed_fields); |
+ |
case JS_FUNCTION_PROXY_TYPE: |
return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
- instance_size, has_unboxed_fields); |
+ JSFunctionProxy::kSize, has_unboxed_fields); |
+ |
+ case FOREIGN_TYPE: |
+ return GetVisitorIdForSize(kVisitDataObject, kVisitDataObjectGeneric, |
+ Foreign::kSize, has_unboxed_fields); |
case SYMBOL_TYPE: |
return kVisitSymbol; |
+ |
+ case FILLER_TYPE: |
+ return kVisitDataObjectGeneric; |
case JS_ARRAY_BUFFER_TYPE: |
return kVisitJSArrayBuffer; |
@@ -127,10 +143,6 @@ |
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: |
case SIMD128_VALUE_TYPE: |