V8 Project
|
#include <objects-visiting.h>
Public Types | |
enum | VisitorId { kVisitorIdCount , kVisitDataObject = kVisitDataObject2 , kVisitJSObject = kVisitJSObject2 , kVisitStruct = kVisitStruct2 , kMinObjectSizeInWords = 2 } |
Public Member Functions | |
STATIC_ASSERT (kVisitorIdCount<=256) | |
Static Public Member Functions | |
static VisitorId | GetVisitorId (int instance_type, int instance_size) |
static VisitorId | GetVisitorId (Map *map) |
static VisitorId | GetVisitorIdForSize (VisitorId base, VisitorId generic, int object_size) |
Definition at line 24 of file objects-visiting.h.
Enumerator | |
---|---|
kVisitorIdCount | |
kVisitDataObject | |
kVisitJSObject | |
kVisitStruct | |
kMinObjectSizeInWords |
Definition at line 91 of file objects-visiting.h.
|
static |
Definition at line 13 of file objects-visiting.cc.
References v8::internal::ALLOCATION_SITE_TYPE, v8::internal::BYTE_ARRAY_TYPE, v8::internal::CELL_TYPE, v8::internal::CODE_TYPE, v8::internal::CONSTANT_POOL_ARRAY_TYPE, EXTERNAL_ARRAY_CASE, v8::internal::FILLER_TYPE, v8::internal::FIRST_NONSTRING_TYPE, v8::internal::FIXED_ARRAY_TYPE, v8::internal::FIXED_DOUBLE_ARRAY_TYPE, v8::internal::FIXED_FLOAT32_ARRAY_TYPE, v8::internal::FIXED_FLOAT64_ARRAY_TYPE, v8::internal::FIXED_INT16_ARRAY_TYPE, v8::internal::FIXED_INT32_ARRAY_TYPE, v8::internal::FIXED_INT8_ARRAY_TYPE, v8::internal::FIXED_UINT16_ARRAY_TYPE, v8::internal::FIXED_UINT32_ARRAY_TYPE, v8::internal::FIXED_UINT8_ARRAY_TYPE, v8::internal::FIXED_UINT8_CLAMPED_ARRAY_TYPE, v8::internal::FOREIGN_TYPE, v8::internal::FREE_SPACE_TYPE, GetVisitorIdForSize(), v8::internal::HEAP_NUMBER_TYPE, v8::internal::IsShortcutCandidate(), v8::internal::JS_ARRAY_BUFFER_TYPE, v8::internal::JS_ARRAY_TYPE, v8::internal::JS_BUILTINS_OBJECT_TYPE, v8::internal::JS_CONTEXT_EXTENSION_OBJECT_TYPE, v8::internal::JS_DATA_VIEW_TYPE, v8::internal::JS_DATE_TYPE, v8::internal::JS_FUNCTION_PROXY_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_GENERATOR_OBJECT_TYPE, v8::internal::JS_GLOBAL_OBJECT_TYPE, v8::internal::JS_GLOBAL_PROXY_TYPE, v8::internal::JS_MAP_ITERATOR_TYPE, v8::internal::JS_MAP_TYPE, v8::internal::JS_MESSAGE_OBJECT_TYPE, v8::internal::JS_MODULE_TYPE, v8::internal::JS_OBJECT_TYPE, v8::internal::JS_PROXY_TYPE, v8::internal::JS_REGEXP_TYPE, v8::internal::JS_SET_ITERATOR_TYPE, v8::internal::JS_SET_TYPE, v8::internal::JS_TYPED_ARRAY_TYPE, v8::internal::JS_VALUE_TYPE, v8::internal::JS_WEAK_MAP_TYPE, v8::internal::JS_WEAK_SET_TYPE, v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kOneByteStringTag, v8::internal::kSeqStringTag, v8::internal::JSProxy::kSize, v8::internal::JSFunctionProxy::kSize, v8::internal::JSCollection::kSize, v8::internal::Foreign::kSize, v8::internal::kSlicedStringTag, v8::internal::kStringEncodingMask, v8::internal::kStringRepresentationMask, kVisitDataObject, kVisitJSObject, kVisitorIdCount, kVisitStruct, MAKE_STRUCT_CASE, v8::internal::MAP_TYPE, v8::internal::MUTABLE_HEAP_NUMBER_TYPE, v8::internal::ODDBALL_TYPE, v8::internal::PROPERTY_CELL_TYPE, v8::internal::SHARED_FUNCTION_INFO_TYPE, STRUCT_LIST, v8::internal::SYMBOL_TYPE, TYPED_ARRAYS, and UNREACHABLE.
Referenced by v8::internal::Heap::AllocateMap(), v8::internal::Heap::AllocatePartialMap(), v8::internal::Map::Create(), GetVisitorId(), and v8::internal::ShrinkInstanceSize().
Definition at line 109 of file objects-visiting.h.
References GetVisitorId(), and map.
|
inlinestatic |
Definition at line 115 of file objects-visiting.h.
References DCHECK, v8::internal::IsAligned(), v8::internal::Page::kMaxRegularHeapObjectSize, kMinObjectSizeInWords, v8::internal::kPointerSize, v8::internal::kPointerSizeLog2, kVisitDataObject, kVisitJSObject, kVisitStruct, and v8::internal::Min().
Referenced by GetVisitorId(), and v8::internal::VisitorDispatchTable< Callback >::RegisterSpecialization().
v8::internal::StaticVisitorBase::STATIC_ASSERT | ( | kVisitorIdCount<= | 256 | ) |