v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#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 47 of file objects-visiting.h.
enum VisitorId |
Enumerator | |
---|---|
kVisitorIdCount | |
kVisitDataObject | |
kVisitJSObject | |
kVisitStruct | |
kMinObjectSizeInWords |
Definition at line 105 of file objects-visiting.h.
|
static |
Definition at line 42 of file objects-visiting.cc.
References v8::internal::BYTE_ARRAY_TYPE, v8::internal::CODE_TYPE, v8::internal::EXTERNAL_BYTE_ARRAY_TYPE, v8::internal::EXTERNAL_DOUBLE_ARRAY_TYPE, v8::internal::EXTERNAL_FLOAT_ARRAY_TYPE, v8::internal::EXTERNAL_INT_ARRAY_TYPE, v8::internal::EXTERNAL_PIXEL_ARRAY_TYPE, v8::internal::EXTERNAL_SHORT_ARRAY_TYPE, v8::internal::EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE, v8::internal::EXTERNAL_UNSIGNED_INT_ARRAY_TYPE, v8::internal::EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE, v8::internal::FILLER_TYPE, v8::internal::FIRST_NONSTRING_TYPE, v8::internal::FIXED_ARRAY_TYPE, v8::internal::FIXED_DOUBLE_ARRAY_TYPE, v8::internal::FOREIGN_TYPE, v8::internal::FREE_SPACE_TYPE, StaticVisitorBase::GetVisitorIdForSize(), v8::internal::HEAP_NUMBER_TYPE, v8::internal::JS_ARRAY_TYPE, v8::internal::JS_BUILTINS_OBJECT_TYPE, v8::internal::JS_CONTEXT_EXTENSION_OBJECT_TYPE, v8::internal::JS_DATE_TYPE, v8::internal::JS_FUNCTION_PROXY_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_GLOBAL_OBJECT_TYPE, v8::internal::JS_GLOBAL_PROPERTY_CELL_TYPE, v8::internal::JS_GLOBAL_PROXY_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_TYPE, v8::internal::JS_VALUE_TYPE, v8::internal::JS_WEAK_MAP_TYPE, v8::internal::kAsciiStringTag, v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, JSProxy::kSize, JSFunctionProxy::kSize, JSSet::kSize, JSMap::kSize, Foreign::kSize, v8::internal::kSlicedStringTag, v8::internal::kStringEncodingMask, v8::internal::kStringRepresentationMask, StaticVisitorBase::kVisitDataObject, StaticVisitorBase::kVisitJSObject, StaticVisitorBase::kVisitorIdCount, StaticVisitorBase::kVisitStruct, MAKE_STRUCT_CASE, v8::internal::MAP_TYPE, v8::internal::ODDBALL_TYPE, v8::internal::SHARED_FUNCTION_INFO_TYPE, STRUCT_LIST, and UNREACHABLE.
Referenced by Heap::AllocateMap(), Heap::AllocatePartialMap(), Factory::CopyMap(), and StaticVisitorBase::GetVisitorId().
Definition at line 123 of file objects-visiting.h.
References StaticVisitorBase::GetVisitorId(), Map::instance_size(), and Map::instance_type().
|
inlinestatic |
Definition at line 129 of file objects-visiting.h.
References ASSERT, v8::internal::IsAligned(), Page::kMaxNonCodeHeapObjectSize, StaticVisitorBase::kMinObjectSizeInWords, v8::internal::kPointerSize, v8::internal::kPointerSizeLog2, StaticVisitorBase::kVisitDataObject, StaticVisitorBase::kVisitJSObject, StaticVisitorBase::kVisitStruct, and v8::internal::Min().
Referenced by StaticVisitorBase::GetVisitorId(), and VisitorDispatchTable< ScavengingCallback >::RegisterSpecialization().
STATIC_ASSERT | ( | kVisitorIdCount<= | 256 | ) |