Index: src/objects-visiting.cc |
diff --git a/src/objects-visiting.cc b/src/objects-visiting.cc |
index 7d10fbd2791c0219cb6eb1e2a6a009ab0d504cd6..ad5516e57b1e2a61c145f59feb5c2143fb635bc4 100644 |
--- a/src/objects-visiting.cc |
+++ b/src/objects-visiting.cc |
@@ -17,8 +17,7 @@ static inline bool IsShortcutCandidate(int type) { |
StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( |
- int instance_type, |
- int instance_size) { |
+ int instance_type, int instance_size, bool has_non_tagged_fields) { |
Toon Verwaest
2014/07/29 15:02:09
has_unboxed_fields?
Igor Sheludko
2014/10/30 14:23:44
Done.
|
if (instance_type < FIRST_NONSTRING_TYPE) { |
switch (instance_type & kStringRepresentationMask) { |
case kSeqStringTag: |
@@ -39,9 +38,8 @@ StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( |
return kVisitSlicedString; |
case kExternalStringTag: |
- return GetVisitorIdForSize(kVisitDataObject, |
- kVisitDataObjectGeneric, |
- instance_size); |
+ return GetVisitorIdForSize(kVisitDataObject, kVisitDataObjectGeneric, |
+ instance_size, has_non_tagged_fields); |
} |
UNREACHABLE(); |
} |
@@ -78,14 +76,12 @@ StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( |
return kVisitPropertyCell; |
case JS_SET_TYPE: |
- return GetVisitorIdForSize(kVisitStruct, |
- kVisitStructGeneric, |
- JSSet::kSize); |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ JSSet::kSize, has_non_tagged_fields); |
case JS_MAP_TYPE: |
- return GetVisitorIdForSize(kVisitStruct, |
- kVisitStructGeneric, |
- JSMap::kSize); |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ JSMap::kSize, has_non_tagged_fields); |
case JS_WEAK_MAP_TYPE: |
case JS_WEAK_SET_TYPE: |
@@ -98,19 +94,16 @@ StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( |
return kVisitSharedFunctionInfo; |
case JS_PROXY_TYPE: |
- return GetVisitorIdForSize(kVisitStruct, |
- kVisitStructGeneric, |
- JSProxy::kSize); |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ JSProxy::kSize, has_non_tagged_fields); |
case JS_FUNCTION_PROXY_TYPE: |
- return GetVisitorIdForSize(kVisitStruct, |
- kVisitStructGeneric, |
- JSFunctionProxy::kSize); |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ JSFunctionProxy::kSize, has_non_tagged_fields); |
case FOREIGN_TYPE: |
- return GetVisitorIdForSize(kVisitDataObject, |
- kVisitDataObjectGeneric, |
- Foreign::kSize); |
+ return GetVisitorIdForSize(kVisitDataObject, kVisitDataObjectGeneric, |
+ Foreign::kSize, has_non_tagged_fields); |
case SYMBOL_TYPE: |
return kVisitSymbol; |
@@ -140,9 +133,8 @@ StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( |
case JS_MESSAGE_OBJECT_TYPE: |
case JS_SET_ITERATOR_TYPE: |
case JS_MAP_ITERATOR_TYPE: |
- return GetVisitorIdForSize(kVisitJSObject, |
- kVisitJSObjectGeneric, |
- instance_size); |
+ return GetVisitorIdForSize(kVisitJSObject, kVisitJSObjectGeneric, |
+ instance_size, has_non_tagged_fields); |
case JS_FUNCTION_TYPE: |
return kVisitJSFunction; |
@@ -153,9 +145,8 @@ StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( |
case EXTERNAL_##TYPE##_ARRAY_TYPE: |
TYPED_ARRAYS(EXTERNAL_ARRAY_CASE) |
- return GetVisitorIdForSize(kVisitDataObject, |
- kVisitDataObjectGeneric, |
- instance_size); |
+ return GetVisitorIdForSize(kVisitDataObject, kVisitDataObjectGeneric, |
+ instance_size, has_non_tagged_fields); |
#undef EXTERNAL_ARRAY_CASE |
case FIXED_UINT8_ARRAY_TYPE: |
@@ -179,9 +170,8 @@ StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId( |
return kVisitAllocationSite; |
} |
- return GetVisitorIdForSize(kVisitStruct, |
- kVisitStructGeneric, |
- instance_size); |
+ return GetVisitorIdForSize(kVisitStruct, kVisitStructGeneric, |
+ instance_size, has_non_tagged_fields); |
default: |
UNREACHABLE(); |