Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(351)

Unified Diff: src/heap/objects-visiting.cc

Issue 2800923004: Revert of [heap] Remove size specializations in static object visitors. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap/objects-visiting.h ('k') | src/heap/objects-visiting-inl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « src/heap/objects-visiting.h ('k') | src/heap/objects-visiting-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698