| Index: src/heap/objects-visiting.cc
|
| diff --git a/src/heap/objects-visiting.cc b/src/heap/objects-visiting.cc
|
| index 3d6cb7309553ce5d1336a41ab83d2e27f88875c2..22d3aba7ec6cc0a1aeac9db70a3fc31705e739fc 100644
|
| --- a/src/heap/objects-visiting.cc
|
| +++ b/src/heap/objects-visiting.cc
|
| @@ -179,138 +179,6 @@ StaticVisitorBase::VisitorId StaticVisitorBase::GetVisitorId(
|
| }
|
|
|
|
|
| -void HeapObject::IterateBody(InstanceType type, int object_size,
|
| - ObjectVisitor* v) {
|
| - // Avoiding <Type>::cast(this) because it accesses the map pointer field.
|
| - // During GC, the map pointer field is encoded.
|
| - if (type < FIRST_NONSTRING_TYPE) {
|
| - switch (type & kStringRepresentationMask) {
|
| - case kSeqStringTag:
|
| - break;
|
| - case kConsStringTag:
|
| - ConsString::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case kSlicedStringTag:
|
| - SlicedString::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case kExternalStringTag:
|
| - if ((type & kStringEncodingMask) == kOneByteStringTag) {
|
| - reinterpret_cast<ExternalOneByteString*>(this)
|
| - ->ExternalOneByteStringIterateBody(v);
|
| - } else {
|
| - reinterpret_cast<ExternalTwoByteString*>(this)
|
| - ->ExternalTwoByteStringIterateBody(v);
|
| - }
|
| - break;
|
| - }
|
| - return;
|
| - }
|
| -
|
| - switch (type) {
|
| - case FIXED_ARRAY_TYPE:
|
| - FixedArray::BodyDescriptor::IterateBody(this, object_size, v);
|
| - break;
|
| - case FIXED_DOUBLE_ARRAY_TYPE:
|
| - break;
|
| - case JS_OBJECT_TYPE:
|
| - case JS_CONTEXT_EXTENSION_OBJECT_TYPE:
|
| - case JS_GENERATOR_OBJECT_TYPE:
|
| - case JS_MODULE_TYPE:
|
| - case JS_VALUE_TYPE:
|
| - case JS_DATE_TYPE:
|
| - case JS_ARRAY_TYPE:
|
| - case JS_TYPED_ARRAY_TYPE:
|
| - case JS_DATA_VIEW_TYPE:
|
| - case JS_SET_TYPE:
|
| - case JS_MAP_TYPE:
|
| - case JS_SET_ITERATOR_TYPE:
|
| - case JS_MAP_ITERATOR_TYPE:
|
| - case JS_ITERATOR_RESULT_TYPE:
|
| - case JS_WEAK_MAP_TYPE:
|
| - case JS_WEAK_SET_TYPE:
|
| - case JS_REGEXP_TYPE:
|
| - case JS_GLOBAL_PROXY_TYPE:
|
| - case JS_GLOBAL_OBJECT_TYPE:
|
| - case JS_MESSAGE_OBJECT_TYPE:
|
| - JSObject::BodyDescriptor::IterateBody(this, object_size, v);
|
| - break;
|
| - case JS_ARRAY_BUFFER_TYPE:
|
| - JSArrayBuffer::JSArrayBufferIterateBody(this, v);
|
| - break;
|
| - case JS_FUNCTION_TYPE:
|
| - JSFunction::BodyDescriptor::IterateBody(this, object_size, v);
|
| - break;
|
| - case ODDBALL_TYPE:
|
| - Oddball::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case JS_PROXY_TYPE:
|
| - JSProxy::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case JS_FUNCTION_PROXY_TYPE:
|
| - JSFunctionProxy::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case FOREIGN_TYPE:
|
| - reinterpret_cast<Foreign*>(this)->ForeignIterateBody(v);
|
| - break;
|
| - case MAP_TYPE:
|
| - Map::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case CODE_TYPE:
|
| - reinterpret_cast<Code*>(this)->CodeIterateBody(v);
|
| - break;
|
| - case CELL_TYPE:
|
| - Cell::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case PROPERTY_CELL_TYPE:
|
| - PropertyCell::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case WEAK_CELL_TYPE:
|
| - WeakCell::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case SYMBOL_TYPE:
|
| - Symbol::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - case BYTECODE_ARRAY_TYPE:
|
| - reinterpret_cast<BytecodeArray*>(this)->BytecodeArrayIterateBody(v);
|
| - break;
|
| -
|
| - case HEAP_NUMBER_TYPE:
|
| - case MUTABLE_HEAP_NUMBER_TYPE:
|
| - case SIMD128_VALUE_TYPE:
|
| - case FILLER_TYPE:
|
| - case BYTE_ARRAY_TYPE:
|
| - case FREE_SPACE_TYPE:
|
| - break;
|
| -
|
| -#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size) \
|
| - case FIXED_##TYPE##_ARRAY_TYPE: \
|
| - reinterpret_cast<FixedTypedArrayBase*>(this) \
|
| - ->FixedTypedArrayBaseIterateBody(v); \
|
| - break;
|
| - TYPED_ARRAYS(TYPED_ARRAY_CASE)
|
| -#undef TYPED_ARRAY_CASE
|
| -
|
| - case SHARED_FUNCTION_INFO_TYPE: {
|
| - SharedFunctionInfo::BodyDescriptor::IterateBody(this, v);
|
| - break;
|
| - }
|
| -
|
| -#define MAKE_STRUCT_CASE(NAME, Name, name) case NAME##_TYPE:
|
| - STRUCT_LIST(MAKE_STRUCT_CASE)
|
| -#undef MAKE_STRUCT_CASE
|
| - if (type == ALLOCATION_SITE_TYPE) {
|
| - AllocationSite::BodyDescriptor::IterateBody(this, v);
|
| - } else {
|
| - StructBodyDescriptor::IterateBody(this, object_size, v);
|
| - }
|
| - break;
|
| - default:
|
| - PrintF("Unknown type: %d\n", type);
|
| - UNREACHABLE();
|
| - }
|
| -}
|
| -
|
| -
|
| // We don't record weak slots during marking or scavenges. Instead we do it
|
| // once when we complete mark-compact cycle. Note that write barrier has no
|
| // effect if we are already in the middle of compacting mark-sweep cycle and we
|
|
|