V8 Project
objects.h File Reference
#include "src/allocation.h"
#include "src/assert-scope.h"
#include "src/bailout-reason.h"
#include "src/base/bits.h"
#include "src/builtins.h"
#include "src/checks.h"
#include "src/elements-kind.h"
#include "src/field-index.h"
#include "src/flags.h"
#include "src/list.h"
#include "src/property-details.h"
#include "src/smart-pointers.h"
#include "src/unicode-inl.h"
#include "src/zone.h"
+ Include dependency graph for objects.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::Object
 
struct  v8::internal::Brief
 
class  v8::internal::Smi
 
class  v8::internal::BASE_EMBEDDED< Visitor >
 
class  v8::internal::HeapObject
 
class  v8::internal::FixedBodyDescriptor< start_offset, end_offset, size >
 
class  v8::internal::FlexibleBodyDescriptor< start_offset >
 
class  v8::internal::HeapNumber
 
class  v8::internal::JSReceiver
 
class  v8::internal::JSObject
 
class  v8::internal::JSObject::BodyDescriptor
 
class  v8::internal::FixedArrayBase
 
class  v8::internal::FixedArray
 
class  v8::internal::FixedArray::BodyDescriptor
 
class  v8::internal::FixedDoubleArray
 
class  v8::internal::ConstantPoolArray
 
class  v8::internal::ConstantPoolArray::BASE_EMBEDDED
 
class  v8::internal::ConstantPoolArray::Int64CountField
 
class  v8::internal::ConstantPoolArray::CodePtrCountField
 
class  v8::internal::ConstantPoolArray::HeapPtrCountField
 
class  v8::internal::ConstantPoolArray::IsExtendedField
 
class  v8::internal::ConstantPoolArray::Int32CountField
 
class  v8::internal::ConstantPoolArray::TotalCountField
 
class  v8::internal::ConstantPoolArray::WeakObjectStateField
 
class  v8::internal::DescriptorArray
 
class  v8::internal::DescriptorArray::WhitenessWitness
 
class  v8::internal::DescriptorArray::Entry
 
class  v8::internal::BaseShape< Key >
 
class  v8::internal::HashTable< Derived, Shape, Key >
 
class  v8::internal::HashTableKey
 
class  v8::internal::StringTableShape
 
class  v8::internal::StringTable
 
class  v8::internal::MapCacheShape
 
class  v8::internal::MapCache
 
class  v8::internal::Dictionary< Derived, Shape, Key >
 
class  v8::internal::NameDictionaryShape
 
class  v8::internal::NameDictionary
 
class  v8::internal::NumberDictionaryShape
 
class  v8::internal::SeededNumberDictionaryShape
 
class  v8::internal::UnseededNumberDictionaryShape
 
class  v8::internal::SeededNumberDictionary
 
class  v8::internal::UnseededNumberDictionary
 
class  v8::internal::ObjectHashTableShape
 
class  v8::internal::ObjectHashTable
 
class  v8::internal::OrderedHashTable< Derived, Iterator, entrysize >
 
class  v8::internal::OrderedHashSet
 
class  v8::internal::OrderedHashMap
 
class  v8::internal::WeakHashTableShape< entrysize >
 
class  v8::internal::WeakHashTable
 
class  v8::internal::JSFunctionResultCache
 
class  v8::internal::ScopeInfo
 
class  v8::internal::ScopeInfo::ScopeTypeField
 
class  v8::internal::ScopeInfo::CallsEvalField
 
class  v8::internal::ScopeInfo::StrictModeField
 
class  v8::internal::ScopeInfo::FunctionVariableField
 
class  v8::internal::ScopeInfo::FunctionVariableMode
 
class  v8::internal::ScopeInfo::AsmModuleField
 
class  v8::internal::ScopeInfo::AsmFunctionField
 
class  v8::internal::ScopeInfo::ContextLocalMode
 
class  v8::internal::ScopeInfo::ContextLocalInitFlag
 
class  v8::internal::ScopeInfo::ContextLocalMaybeAssignedFlag
 
class  v8::internal::NormalizedMapCache
 
class  v8::internal::ByteArray
 
class  v8::internal::FreeSpace
 
class  v8::internal::ExternalArray
 
class  v8::internal::ExternalUint8ClampedArray
 
class  v8::internal::ExternalInt8Array
 
class  v8::internal::ExternalUint8Array
 
class  v8::internal::ExternalInt16Array
 
class  v8::internal::ExternalUint16Array
 
class  v8::internal::ExternalInt32Array
 
class  v8::internal::ExternalUint32Array
 
class  v8::internal::ExternalFloat32Array
 
class  v8::internal::ExternalFloat64Array
 
class  v8::internal::FixedTypedArrayBase
 
class  v8::internal::FixedTypedArray< Traits >
 
class  v8::internal::DeoptimizationInputData
 
class  v8::internal::DeoptimizationOutputData
 
class  v8::internal::Code
 
class  v8::internal::Code::FullCodeFlagsHasDeoptimizationSupportField
 
class  v8::internal::Code::FullCodeFlagsHasDebugBreakSlotsField
 
class  v8::internal::Code::FullCodeFlagsIsCompiledOptimizable
 
class  v8::internal::Code::ICStateField
 
class  v8::internal::Code::TypeField
 
class  v8::internal::Code::CacheHolderField
 
class  v8::internal::Code::KindField
 
class  v8::internal::Code::ExtraICStateField
 
class  v8::internal::Code::StackSlotsField
 
class  v8::internal::Code::HasFunctionCacheField
 
class  v8::internal::Code::MarkedForDeoptimizationField
 
class  v8::internal::Code::WeakStubField
 
class  v8::internal::Code::InvalidatedWeakStubField
 
class  v8::internal::Code::IsTurbofannedField
 
class  v8::internal::Code::IsCrankshaftedField
 
class  v8::internal::Code::SafepointTableOffsetField
 
class  v8::internal::Code::BackEdgeTableOffsetField
 
class  v8::internal::Code::AllowOSRAtLoopNestingLevelField
 
class  v8::internal::DependentCode
 
class  v8::internal::DependentCode::GroupStartIndexes
 
class  v8::internal::Map
 
class  v8::internal::Map::EnumLengthBits
 
class  v8::internal::Map::NumberOfOwnDescriptorsBits
 
class  v8::internal::Map::DictionaryMap
 
class  v8::internal::Map::OwnsDescriptors
 
class  v8::internal::Map::HasInstanceCallHandler
 
class  v8::internal::Map::Deprecated
 
class  v8::internal::Map::IsFrozen
 
class  v8::internal::Map::IsUnstable
 
class  v8::internal::Map::IsMigrationTarget
 
class  v8::internal::Map::DoneInobjectSlackTracking
 
class  v8::internal::Map::ConstructionCount
 
class  v8::internal::Map::FunctionWithPrototype
 
class  v8::internal::Map::IsPrototypeMapBits
 
class  v8::internal::Map::ElementsKindBits
 
class  v8::internal::Struct
 
class  v8::internal::Box
 
class  v8::internal::Script
 
class  v8::internal::SharedFunctionInfo
 
class  v8::internal::SharedFunctionInfo::FunctionKindBits
 
class  v8::internal::SharedFunctionInfo::DeoptCountBits
 
class  v8::internal::SharedFunctionInfo::OptReenableTriesBits
 
class  v8::internal::SharedFunctionInfo::ICAgeBits
 
class  v8::internal::SharedFunctionInfo::OptCountBits
 
class  v8::internal::SharedFunctionInfo::DisabledOptimizationReasonBits
 
struct  v8::internal::SourceCodeOf
 
class  v8::internal::JSGeneratorObject
 
class  v8::internal::JSModule
 
class  v8::internal::JSFunction
 
class  v8::internal::JSGlobalProxy
 
class  v8::internal::GlobalObject
 
class  v8::internal::JSGlobalObject
 
class  v8::internal::JSBuiltinsObject
 
class  v8::internal::JSValue
 
class  v8::internal::JSDate
 
class  v8::internal::JSMessageObject
 
class  v8::internal::JSRegExp
 
class  v8::internal::JSRegExp::Flags
 
class  v8::internal::CompilationCacheShape
 
class  v8::internal::CompilationCacheTable
 
class  v8::internal::CodeCache
 
class  v8::internal::CodeCacheHashTableShape
 
class  v8::internal::CodeCacheHashTable
 
class  v8::internal::PolymorphicCodeCache
 
class  v8::internal::PolymorphicCodeCacheHashTable
 
class  v8::internal::TypeFeedbackInfo
 
class  v8::internal::TypeFeedbackInfo::ICTotalCountField
 
class  v8::internal::TypeFeedbackInfo::OwnTypeChangeChecksum
 
class  v8::internal::TypeFeedbackInfo::ICsWithTypeInfoCountField
 
class  v8::internal::TypeFeedbackInfo::InlinedTypeChangeChecksum
 
class  v8::internal::AllocationSite
 
class  v8::internal::AllocationSite::ElementsKindBits
 
class  v8::internal::AllocationSite::UnusedBits
 
class  v8::internal::AllocationSite::DoNotInlineBit
 
class  v8::internal::AllocationSite::MementoFoundCountBits
 
class  v8::internal::AllocationSite::PretenureDecisionBits
 
class  v8::internal::AllocationSite::DeoptDependentCodeBit
 
class  v8::internal::AllocationMemento
 
class  v8::internal::AliasedArgumentsEntry
 
class  v8::internal::StringHasher
 
class  v8::internal::IteratingStringHasher
 
class  v8::internal::Name
 
class  v8::internal::Name::ArrayIndexValueBits
 
class  v8::internal::Name::ArrayIndexLengthBits
 
class  v8::internal::Symbol
 
class  v8::internal::String
 
class  v8::internal::String::ArrayIndexValueBits
 
class  v8::internal::String::ArrayIndexLengthBits
 
class  v8::internal::String::FlatContent
 
class  v8::internal::SeqString
 
class  v8::internal::SeqOneByteString
 
class  v8::internal::SeqTwoByteString
 
class  v8::internal::ConsString
 
class  v8::internal::SlicedString
 
class  v8::internal::ExternalString
 
class  v8::internal::ExternalOneByteString
 
class  v8::internal::ExternalTwoByteString
 
class  v8::internal::FlatStringReader
 
class  v8::internal::ConsStringNullOp
 
class  v8::internal::ConsStringIteratorOp
 
class  v8::internal::StringCharacterStream
 
class  v8::internal::VectorIterator< T >
 
class  v8::internal::Oddball
 
class  v8::internal::Cell
 
class  v8::internal::PropertyCell
 
class  v8::internal::JSProxy
 
class  v8::internal::JSFunctionProxy
 
class  v8::internal::JSCollection
 
class  v8::internal::JSSet
 
class  v8::internal::JSMap
 
class  v8::internal::OrderedHashTableIterator< Derived, TableType >
 
class  v8::internal::JSSetIterator
 
class  v8::internal::JSMapIterator
 
class  v8::internal::JSWeakCollection
 
class  v8::internal::JSWeakMap
 
class  v8::internal::JSWeakSet
 
class  v8::internal::JSArrayBuffer
 
class  v8::internal::JSArrayBufferView
 
class  v8::internal::JSTypedArray
 
class  v8::internal::JSDataView
 
class  v8::internal::Foreign
 
class  v8::internal::JSArray
 
class  v8::internal::JSRegExpResult
 
class  v8::internal::AccessorInfo
 
class  v8::internal::AccessorInfo::AttributesField
 
struct  v8::internal::BitmaskCompareDescriptor
 
struct  v8::internal::PointerCompareDescriptor
 
struct  v8::internal::PrimitiveValueDescriptor
 
struct  v8::internal::ObjectDerefenceDescriptor
 
struct  v8::internal::PointerShiftDescriptor
 
struct  v8::internal::DeclaredAccessorDescriptorData
 
class  v8::internal::DeclaredAccessorDescriptorIterator
 
class  v8::internal::DeclaredAccessorDescriptor
 
class  v8::internal::DeclaredAccessorInfo
 
class  v8::internal::ExecutableAccessorInfo
 
class  v8::internal::AccessorPair
 
class  v8::internal::AccessCheckInfo
 
class  v8::internal::InterceptorInfo
 
class  v8::internal::CallHandlerInfo
 
class  v8::internal::TemplateInfo
 
class  v8::internal::FunctionTemplateInfo
 
class  v8::internal::ObjectTemplateInfo
 
class  v8::internal::SignatureInfo
 
class  v8::internal::TypeSwitchInfo
 
class  v8::internal::DebugInfo
 
class  v8::internal::BreakPointInfo
 
class  v8::internal::VisitorSynchronization
 
class  v8::internal::StructBodyDescriptor
 
class  v8::internal::BooleanBit
 

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 

Macros

#define INSTANCE_TYPE_LIST(V)
 
#define STRING_TYPE_LIST(V)
 
#define STRUCT_LIST(V)
 
#define FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(V)
 
#define DEFINE_FIXED_ARRAY_SUB_INSTANCE_TYPE(name)   name,
 
#define DECL_BOOLEAN_ACCESSORS(name)
 
#define DECL_ACCESSORS(name, type)
 
#define DECLARE_CAST(type)
 
#define DECLARE_VERIFIER(Name)
 
#define DECLARE_PRINTER(Name)
 
#define OBJECT_TYPE_LIST(V)
 
#define HEAP_OBJECT_TYPE_LIST(V)
 
#define IS_TYPE_FUNCTION_DECL(type_)   INLINE(bool Is##type_() const);
 
#define DECLARE_STRUCT_PREDICATE(NAME, Name, name)    INLINE(bool Is##Name() const);
 
#define FOR_EACH_NUMERIC_FIELD(V)
 
#define FIELD_ACCESSORS(name)
 
#define DECL_INDEX(name)   k##name,
 
#define TYPED_ARRAYS(V)
 
#define FIXED_TYPED_ARRAY_TRAITS(Type, type, TYPE, elementType, size)
 
#define DEFINE_ELEMENT_ACCESSORS(name, type)
 
#define DEFINE_ENTRY_ACCESSORS(name, type)
 
#define NON_IC_KIND_LIST(V)
 
#define IC_KIND_LIST(V)
 
#define CODE_KIND_LIST(V)
 
#define DEFINE_CODE_KIND_ENUM(name)   name,
 
#define DECLARE_CODE_AGE_ENUM(X)   k##X##CodeAge,
 
#define FUNCTIONS_WITH_ID_LIST(V)
 
#define DECLARE_FUNCTION_ID(ignored1, ignore2, name)    k##name,
 
#define VISITOR_SYNCHRONIZATION_TAGS_LIST(V)
 
#define DECLARE_ENUM(enum_item, ignore1, ignore2)   enum_item,
 

Typedefs

typedef int v8::internal::ExtraICState
 

Enumerations

enum  v8::internal::KeyedAccessStoreMode {
  v8::internal::STANDARD_STORE , v8::internal::STORE_TRANSITION_SMI_TO_OBJECT , v8::internal::STORE_TRANSITION_SMI_TO_DOUBLE , v8::internal::STORE_TRANSITION_DOUBLE_TO_OBJECT ,
  v8::internal::STORE_TRANSITION_HOLEY_SMI_TO_OBJECT , v8::internal::STORE_TRANSITION_HOLEY_SMI_TO_DOUBLE , v8::internal::STORE_TRANSITION_HOLEY_DOUBLE_TO_OBJECT , v8::internal::STORE_AND_GROW_NO_TRANSITION ,
  v8::internal::STORE_AND_GROW_TRANSITION_SMI_TO_OBJECT , v8::internal::STORE_AND_GROW_TRANSITION_SMI_TO_DOUBLE , v8::internal::STORE_AND_GROW_TRANSITION_DOUBLE_TO_OBJECT , v8::internal::STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_OBJECT ,
  v8::internal::STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_DOUBLE , v8::internal::STORE_AND_GROW_TRANSITION_HOLEY_DOUBLE_TO_OBJECT , v8::internal::STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS , v8::internal::STORE_NO_TRANSITION_HANDLE_COW
}
 
enum  v8::internal::ContextualMode { v8::internal::NOT_CONTEXTUAL , v8::internal::CONTEXTUAL }
 
enum  v8::internal::MutableMode { v8::internal::MUTABLE , v8::internal::IMMUTABLE }
 
enum  v8::internal::WriteBarrierMode { v8::internal::SKIP_WRITE_BARRIER , v8::internal::UPDATE_WRITE_BARRIER }
 
enum  v8::internal::StoreMode { v8::internal::ALLOW_AS_CONSTANT , v8::internal::FORCE_FIELD }
 
enum  v8::internal::PropertyNormalizationMode { v8::internal::CLEAR_INOBJECT_PROPERTIES , v8::internal::KEEP_INOBJECT_PROPERTIES }
 
enum  v8::internal::PrototypeOptimizationMode { v8::internal::REGULAR_PROTOTYPE , v8::internal::FAST_PROTOTYPE }
 
enum  v8::internal::TransitionFlag { v8::internal::INSERT_TRANSITION , v8::internal::OMIT_TRANSITION }
 
enum  v8::internal::DebugExtraICState { v8::internal::DEBUG_BREAK , v8::internal::DEBUG_PREPARE_STEP_IN }
 
enum  v8::internal::SimpleTransitionFlag { v8::internal::SIMPLE_TRANSITION , v8::internal::FULL_TRANSITION }
 
enum  v8::internal::DescriptorFlag { v8::internal::ALL_DESCRIPTORS , v8::internal::OWN_DESCRIPTORS }
 
enum  v8::internal::MarkingParity { v8::internal::NO_MARKING_PARITY , v8::internal::ODD_MARKING_PARITY , v8::internal::EVEN_MARKING_PARITY }
 
enum  v8::internal::StringRepresentationTag { v8::internal::kSeqStringTag = 0x0 , v8::internal::kConsStringTag = 0x1 , v8::internal::kExternalStringTag = 0x2 , v8::internal::kSlicedStringTag = 0x3 }
 
enum  v8::internal::InstanceType {
  v8::internal::INTERNALIZED_STRING_TYPE , v8::internal::ONE_BYTE_INTERNALIZED_STRING_TYPE , v8::internal::EXTERNAL_INTERNALIZED_STRING_TYPE , v8::internal::EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE ,
  v8::internal::EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE , v8::internal::SHORT_EXTERNAL_INTERNALIZED_STRING_TYPE , v8::internal::SHORT_EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE , v8::internal::SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE ,
  v8::internal::STRING_TYPE = INTERNALIZED_STRING_TYPE | kNotInternalizedTag , v8::internal::ONE_BYTE_STRING_TYPE , v8::internal::CONS_STRING_TYPE = kTwoByteStringTag | kConsStringTag | kNotInternalizedTag , v8::internal::CONS_ONE_BYTE_STRING_TYPE ,
  v8::internal::SLICED_STRING_TYPE , v8::internal::SLICED_ONE_BYTE_STRING_TYPE , v8::internal::EXTERNAL_STRING_TYPE , v8::internal::EXTERNAL_ONE_BYTE_STRING_TYPE ,
  v8::internal::EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE , v8::internal::SHORT_EXTERNAL_STRING_TYPE , v8::internal::SHORT_EXTERNAL_ONE_BYTE_STRING_TYPE , v8::internal::SHORT_EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE ,
  v8::internal::SYMBOL_TYPE = kNotStringTag , v8::internal::MAP_TYPE , v8::internal::CODE_TYPE , v8::internal::ODDBALL_TYPE ,
  v8::internal::CELL_TYPE , v8::internal::PROPERTY_CELL_TYPE , v8::internal::HEAP_NUMBER_TYPE , v8::internal::MUTABLE_HEAP_NUMBER_TYPE ,
  v8::internal::FOREIGN_TYPE , v8::internal::BYTE_ARRAY_TYPE , v8::internal::FREE_SPACE_TYPE , v8::internal::EXTERNAL_INT8_ARRAY_TYPE ,
  v8::internal::EXTERNAL_UINT8_ARRAY_TYPE , v8::internal::EXTERNAL_INT16_ARRAY_TYPE , v8::internal::EXTERNAL_UINT16_ARRAY_TYPE , v8::internal::EXTERNAL_INT32_ARRAY_TYPE ,
  v8::internal::EXTERNAL_UINT32_ARRAY_TYPE , v8::internal::EXTERNAL_FLOAT32_ARRAY_TYPE , v8::internal::EXTERNAL_FLOAT64_ARRAY_TYPE , v8::internal::EXTERNAL_UINT8_CLAMPED_ARRAY_TYPE ,
  v8::internal::FIXED_INT8_ARRAY_TYPE , v8::internal::FIXED_UINT8_ARRAY_TYPE , v8::internal::FIXED_INT16_ARRAY_TYPE , v8::internal::FIXED_UINT16_ARRAY_TYPE ,
  v8::internal::FIXED_INT32_ARRAY_TYPE , v8::internal::FIXED_UINT32_ARRAY_TYPE , v8::internal::FIXED_FLOAT32_ARRAY_TYPE , v8::internal::FIXED_FLOAT64_ARRAY_TYPE ,
  v8::internal::FIXED_UINT8_CLAMPED_ARRAY_TYPE , v8::internal::FIXED_DOUBLE_ARRAY_TYPE , v8::internal::FILLER_TYPE , v8::internal::DECLARED_ACCESSOR_DESCRIPTOR_TYPE ,
  v8::internal::DECLARED_ACCESSOR_INFO_TYPE , v8::internal::EXECUTABLE_ACCESSOR_INFO_TYPE , v8::internal::ACCESSOR_PAIR_TYPE , v8::internal::ACCESS_CHECK_INFO_TYPE ,
  v8::internal::INTERCEPTOR_INFO_TYPE , v8::internal::CALL_HANDLER_INFO_TYPE , v8::internal::FUNCTION_TEMPLATE_INFO_TYPE , v8::internal::OBJECT_TEMPLATE_INFO_TYPE ,
  v8::internal::SIGNATURE_INFO_TYPE , v8::internal::TYPE_SWITCH_INFO_TYPE , v8::internal::ALLOCATION_SITE_TYPE , v8::internal::ALLOCATION_MEMENTO_TYPE ,
  v8::internal::SCRIPT_TYPE , v8::internal::CODE_CACHE_TYPE , v8::internal::POLYMORPHIC_CODE_CACHE_TYPE , v8::internal::TYPE_FEEDBACK_INFO_TYPE ,
  v8::internal::ALIASED_ARGUMENTS_ENTRY_TYPE , v8::internal::BOX_TYPE , v8::internal::DEBUG_INFO_TYPE , v8::internal::BREAK_POINT_INFO_TYPE ,
  v8::internal::FIXED_ARRAY_TYPE , v8::internal::CONSTANT_POOL_ARRAY_TYPE , v8::internal::SHARED_FUNCTION_INFO_TYPE , v8::internal::JS_FUNCTION_PROXY_TYPE ,
  v8::internal::JS_PROXY_TYPE , v8::internal::JS_VALUE_TYPE , v8::internal::JS_MESSAGE_OBJECT_TYPE , v8::internal::JS_DATE_TYPE ,
  v8::internal::JS_OBJECT_TYPE , v8::internal::JS_CONTEXT_EXTENSION_OBJECT_TYPE , v8::internal::JS_GENERATOR_OBJECT_TYPE , v8::internal::JS_MODULE_TYPE ,
  v8::internal::JS_GLOBAL_OBJECT_TYPE , v8::internal::JS_BUILTINS_OBJECT_TYPE , v8::internal::JS_GLOBAL_PROXY_TYPE , v8::internal::JS_ARRAY_TYPE ,
  v8::internal::JS_ARRAY_BUFFER_TYPE , v8::internal::JS_TYPED_ARRAY_TYPE , v8::internal::JS_DATA_VIEW_TYPE , v8::internal::JS_SET_TYPE ,
  v8::internal::JS_MAP_TYPE , v8::internal::JS_SET_ITERATOR_TYPE , v8::internal::JS_MAP_ITERATOR_TYPE , v8::internal::JS_WEAK_MAP_TYPE ,
  v8::internal::JS_WEAK_SET_TYPE , v8::internal::JS_REGEXP_TYPE , v8::internal::JS_FUNCTION_TYPE , v8::internal::FIRST_TYPE = 0x0 ,
  v8::internal::LAST_TYPE = JS_FUNCTION_TYPE , v8::internal::FIRST_NAME_TYPE = FIRST_TYPE , v8::internal::LAST_NAME_TYPE = SYMBOL_TYPE , v8::internal::FIRST_UNIQUE_NAME_TYPE = INTERNALIZED_STRING_TYPE ,
  v8::internal::LAST_UNIQUE_NAME_TYPE = SYMBOL_TYPE , v8::internal::FIRST_NONSTRING_TYPE = SYMBOL_TYPE , v8::internal::FIRST_EXTERNAL_ARRAY_TYPE = EXTERNAL_INT8_ARRAY_TYPE , v8::internal::LAST_EXTERNAL_ARRAY_TYPE = EXTERNAL_UINT8_CLAMPED_ARRAY_TYPE ,
  v8::internal::FIRST_FIXED_TYPED_ARRAY_TYPE = FIXED_INT8_ARRAY_TYPE , v8::internal::LAST_FIXED_TYPED_ARRAY_TYPE = FIXED_UINT8_CLAMPED_ARRAY_TYPE , v8::internal::LAST_DATA_TYPE = FILLER_TYPE , v8::internal::FIRST_JS_RECEIVER_TYPE = JS_FUNCTION_PROXY_TYPE ,
  v8::internal::LAST_JS_RECEIVER_TYPE = LAST_TYPE , v8::internal::FIRST_JS_OBJECT_TYPE = JS_VALUE_TYPE , v8::internal::LAST_JS_OBJECT_TYPE = LAST_TYPE , v8::internal::FIRST_JS_PROXY_TYPE = JS_FUNCTION_PROXY_TYPE ,
  v8::internal::LAST_JS_PROXY_TYPE = JS_PROXY_TYPE , v8::internal::FIRST_SPEC_OBJECT_TYPE = FIRST_JS_RECEIVER_TYPE , v8::internal::LAST_SPEC_OBJECT_TYPE = LAST_JS_RECEIVER_TYPE , v8::internal::FIRST_NONCALLABLE_SPEC_OBJECT_TYPE = JS_PROXY_TYPE ,
  v8::internal::LAST_NONCALLABLE_SPEC_OBJECT_TYPE = JS_REGEXP_TYPE , v8::internal::NUM_OF_CALLABLE_SPEC_OBJECT_TYPES = 2
}
 
enum  v8::internal::FixedArraySubInstanceType { v8::internal::LAST_FIXED_ARRAY_SUB_TYPE = TRANSITION_ARRAY_SUB_TYPE }
 
enum  v8::internal::CompareResult { v8::internal::LESS = -1 , v8::internal::EQUAL = 0 , v8::internal::GREATER = 1 , v8::internal::NOT_EQUAL = GREATER }
 
enum  v8::internal::EnsureElementsMode { v8::internal::DONT_ALLOW_DOUBLE_ELEMENTS , v8::internal::ALLOW_COPIED_DOUBLE_ELEMENTS , v8::internal::ALLOW_CONVERTED_DOUBLE_ELEMENTS }
 
enum  v8::internal::SetPropertyMode { v8::internal::SET_PROPERTY , v8::internal::DEFINE_PROPERTY }
 
enum  v8::internal::AccessorComponent { v8::internal::ACCESSOR_GETTER , v8::internal::ACCESSOR_SETTER }
 
enum  v8::internal::SearchMode { v8::internal::ALL_ENTRIES , v8::internal::VALID_ENTRIES }
 
enum  v8::internal::BuiltinFunctionId { v8::internal::kArrayCode , v8::internal::kMathPowHalf }
 
enum  v8::internal::AllocationSiteMode { v8::internal::DONT_TRACK_ALLOCATION_SITE , v8::internal::TRACK_ALLOCATION_SITE , v8::internal::LAST_ALLOCATION_SITE_MODE = TRACK_ALLOCATION_SITE }
 
enum  v8::internal::AllowNullsFlag { v8::internal::ALLOW_NULLS , v8::internal::DISALLOW_NULLS }
 
enum  v8::internal::RobustnessFlag { v8::internal::ROBUST_STRING_TRAVERSAL , v8::internal::FAST_STRING_TRAVERSAL }
 
enum  v8::internal::AccessorDescriptorType {
  v8::internal::kDescriptorBitmaskCompare , v8::internal::kDescriptorPointerCompare , v8::internal::kDescriptorPrimitiveValue , v8::internal::kDescriptorObjectDereference ,
  v8::internal::kDescriptorPointerDereference , v8::internal::kDescriptorPointerShift , v8::internal::kDescriptorReturnObject
}
 

Functions

 v8::internal::STATIC_ASSERT (STANDARD_STORE==0)
 
 v8::internal::STATIC_ASSERT (kGrowICDelta==STORE_AND_GROW_TRANSITION_SMI_TO_OBJECT - STORE_TRANSITION_SMI_TO_OBJECT)
 
static KeyedAccessStoreMode v8::internal::GetGrowStoreMode (KeyedAccessStoreMode store_mode)
 
static bool v8::internal::IsTransitionStoreMode (KeyedAccessStoreMode store_mode)
 
static KeyedAccessStoreMode v8::internal::GetNonTransitioningStoreMode (KeyedAccessStoreMode store_mode)
 
static bool v8::internal::IsGrowStoreMode (KeyedAccessStoreMode store_mode)
 
 v8::internal::STATIC_ASSERT ((kSeqStringTag &kIsIndirectStringMask)==0)
 
 v8::internal::STATIC_ASSERT ((kExternalStringTag &kIsIndirectStringMask)==0)
 
 v8::internal::STATIC_ASSERT ((kConsStringTag &kIsIndirectStringMask)==kIsIndirectStringTag)
 
 v8::internal::STATIC_ASSERT ((kSlicedStringTag &kIsIndirectStringMask)==kIsIndirectStringTag)
 
 v8::internal::STATIC_ASSERT (IS_POWER_OF_TWO(kSlicedNotConsMask))
 
static bool v8::internal::IsShortcutCandidate (int type)
 
 v8::internal::STATIC_ASSERT (JS_OBJECT_TYPE==Internals::kJSObjectType)
 
 v8::internal::STATIC_ASSERT (FIRST_NONSTRING_TYPE==Internals::kFirstNonstringType)
 
 v8::internal::STATIC_ASSERT (ODDBALL_TYPE==Internals::kOddballType)
 
 v8::internal::STATIC_ASSERT (FOREIGN_TYPE==Internals::kForeignType)
 
template<class C >
bool v8::internal::Is (Object *obj)
 
OStream & v8::internal::operator<< (OStream &os, const Brief &v)
 
template<SearchMode search_mode, typename T >
int v8::internal::LinearSearch (T *array, Name *name, int len, int valid_entries)
 
template<SearchMode search_mode, typename T >
int v8::internal::Search (T *array, Name *name, int valid_entries)
 
OStream & v8::internal::operator<< (OStream &os, const SourceCodeOf &v)
 
Handle< Object > v8::internal::CacheInitialJSArrayMaps (Handle< Context > native_context, Handle< Map > initial_map)
 

Variables

static const int v8::internal::kGrowICDelta
 
static const ExtraICState v8::internal::kNoExtraICState = 0
 
const int v8::internal::kVariableSizeSentinel = 0
 
const int v8::internal::kStubMajorKeyBits = 7
 
const int v8::internal::kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1
 
const uint32_t v8::internal::kIsNotStringMask = 0x80
 
const uint32_t v8::internal::kStringTag = 0x0
 
const uint32_t v8::internal::kNotStringTag = 0x80
 
const uint32_t v8::internal::kIsNotInternalizedMask = 0x40
 
const uint32_t v8::internal::kNotInternalizedTag = 0x40
 
const uint32_t v8::internal::kInternalizedTag = 0x0
 
const uint32_t v8::internal::kStringEncodingMask = 0x4
 
const uint32_t v8::internal::kTwoByteStringTag = 0x0
 
const uint32_t v8::internal::kOneByteStringTag = 0x4
 
const uint32_t v8::internal::kStringRepresentationMask = 0x03
 
const uint32_t v8::internal::kIsIndirectStringMask = 0x1
 
const uint32_t v8::internal::kIsIndirectStringTag = 0x1
 
const uint32_t v8::internal::kSlicedNotConsMask = kSlicedStringTag & ~kConsStringTag
 
const uint32_t v8::internal::kOneByteDataHintMask = 0x08
 
const uint32_t v8::internal::kOneByteDataHintTag = 0x08
 
const uint32_t v8::internal::kShortExternalStringMask = 0x10
 
const uint32_t v8::internal::kShortExternalStringTag = 0x10
 
const uint32_t v8::internal::kShortcutTypeMask
 
const uint32_t v8::internal::kShortcutTypeTag = kConsStringTag | kNotInternalizedTag
 
const int v8::internal::kExternalArrayTypeCount
 

Macro Definition Documentation

◆ CODE_KIND_LIST

#define CODE_KIND_LIST (   V)
Value:
IC_KIND_LIST(V)
#define NON_IC_KIND_LIST(V)
Definition: objects.h:4931

Definition at line 4950 of file objects.h.

◆ DECL_ACCESSORS

#define DECL_ACCESSORS (   name,
  type 
)
Value:
inline type* name() const; \
inline void set_##name(type* value, \
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be expose gc extension under the specified name show built in functions in stack traces use random jit cookie to mask large constants minimum length for automatic enable preparsing CPU profiler sampling interval in microseconds trace out of bounds accesses to external arrays default size of stack region v8 is allowed to maximum length of function source code printed in a stack trace min size of a semi the new space consists of two semi spaces print one trace line following each garbage collection do not print trace line after scavenger collection print cumulative GC statistics in name
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long mode(MIPS only)") DEFINE_BOOL(enable_always_align_csp
@ UPDATE_WRITE_BARRIER
Definition: objects.h:235

Definition at line 833 of file objects.h.

◆ DECL_BOOLEAN_ACCESSORS

#define DECL_BOOLEAN_ACCESSORS (   name)
Value:
inline bool name() const; \
inline void set_##name(bool value); \

Definition at line 828 of file objects.h.

◆ DECL_INDEX

#define DECL_INDEX (   name)    k##name,

Definition at line 4252 of file objects.h.

◆ DECLARE_CAST

#define DECLARE_CAST (   type)
Value:
INLINE(static type* cast(Object* object)); \
INLINE(static const type* cast(const Object* object));
#define INLINE(declarator)
Definition: macros.h:261
kSerializedDataOffset Object
Definition: objects-inl.h:5322

Definition at line 839 of file objects.h.

◆ DECLARE_CODE_AGE_ENUM

#define DECLARE_CODE_AGE_ENUM (   X)    k##X##CodeAge,

Definition at line 5292 of file objects.h.

◆ DECLARE_ENUM

#define DECLARE_ENUM (   enum_item,
  ignore1,
  ignore2 
)    enum_item,

Definition at line 10704 of file objects.h.

◆ DECLARE_FUNCTION_ID

#define DECLARE_FUNCTION_ID (   ignored1,
  ignore2,
  name 
)     k##name,

Definition at line 6568 of file objects.h.

◆ DECLARE_PRINTER

#define DECLARE_PRINTER (   Name)

Definition at line 874 of file objects.h.

◆ DECLARE_STRUCT_PREDICATE

#define DECLARE_STRUCT_PREDICATE (   NAME,
  Name,
  name 
)     INLINE(bool Is##Name() const);

Definition at line 1017 of file objects.h.

◆ DECLARE_VERIFIER

#define DECLARE_VERIFIER (   Name)

Definition at line 868 of file objects.h.

◆ DEFINE_CODE_KIND_ENUM

#define DEFINE_CODE_KIND_ENUM (   name)    name,

Definition at line 4955 of file objects.h.

◆ DEFINE_ELEMENT_ACCESSORS

#define DEFINE_ELEMENT_ACCESSORS (   name,
  type 
)
Value:
type* name() { \
return type::cast(get(k##name##Index)); \
} \
void Set##name(type* value) { \
set(k##name##Index, value); \
}

Definition at line 4814 of file objects.h.

◆ DEFINE_ENTRY_ACCESSORS

#define DEFINE_ENTRY_ACCESSORS (   name,
  type 
)
Value:
type* name(int i) { \
return type::cast(get(IndexForEntry(i) + k##name##Offset)); \
} \
void Set##name(int i, type* value) { \
set(IndexForEntry(i) + k##name##Offset, value); \
}

Definition at line 4833 of file objects.h.

◆ DEFINE_FIXED_ARRAY_SUB_INSTANCE_TYPE

#define DEFINE_FIXED_ARRAY_SUB_INSTANCE_TYPE (   name)    name,

Definition at line 812 of file objects.h.

◆ FIELD_ACCESSORS

#define FIELD_ACCESSORS (   name)
Value:
void Set##name(int value) { \
set(k##name, Smi::FromInt(value)); \
} \
int name() { \
if (length() > 0) { \
return Smi::cast(get(k##name))->value(); \
} else { \
return 0; \
} \
}

Definition at line 4236 of file objects.h.

◆ FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST

#define FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST (   V)
Value:
V(FAST_ELEMENTS_SUB_TYPE) \
V(DICTIONARY_ELEMENTS_SUB_TYPE) \
V(FAST_PROPERTIES_SUB_TYPE) \
V(DICTIONARY_PROPERTIES_SUB_TYPE) \
V(MAP_CODE_CACHE_SUB_TYPE) \
V(SCOPE_INFO_SUB_TYPE) \
V(STRING_TABLE_SUB_TYPE) \
V(DESCRIPTOR_ARRAY_SUB_TYPE) \
V(TRANSITION_ARRAY_SUB_TYPE)
#define V(NAME, Name, id)
Definition: execution.h:170

Definition at line 800 of file objects.h.

◆ FIXED_TYPED_ARRAY_TRAITS

#define FIXED_TYPED_ARRAY_TRAITS (   Type,
  type,
  TYPE,
  elementType,
  size 
)
Value:
class Type##ArrayTraits { \
public: /* NOLINT */ \
typedef elementType ElementType; \
static const InstanceType kInstanceType = FIXED_##TYPE##_ARRAY_TYPE; \
static const char* Designator() { return #type " array"; } \
static inline Handle<Object> ToHandle(Isolate* isolate, \
elementType scalar); \
static inline elementType defaultValue(); \
}; \
\
typedef FixedTypedArray<Type##ArrayTraits> Fixed##Type##Array;
TypeImpl< ZoneTypeConfig > Type

Definition at line 4770 of file objects.h.

◆ FOR_EACH_NUMERIC_FIELD

#define FOR_EACH_NUMERIC_FIELD (   V)
Value:
V(Flags) \
V(ParameterCount) \
V(StackLocalCount) \
V(ContextLocalCount)

Definition at line 4230 of file objects.h.

◆ FUNCTIONS_WITH_ID_LIST

#define FUNCTIONS_WITH_ID_LIST (   V)
Value:
V(Array.prototype, indexOf, ArrayIndexOf) \
V(Array.prototype, lastIndexOf, ArrayLastIndexOf) \
V(Array.prototype, push, ArrayPush) \
V(Array.prototype, pop, ArrayPop) \
V(Array.prototype, shift, ArrayShift) \
V(Function.prototype, apply, FunctionApply) \
V(String.prototype, charCodeAt, StringCharCodeAt) \
V(String.prototype, charAt, StringCharAt) \
V(String, fromCharCode, StringFromCharCode) \
V(Math, floor, MathFloor) \
V(Math, round, MathRound) \
V(Math, ceil, MathCeil) \
V(Math, abs, MathAbs) \
V(Math, log, MathLog) \
V(Math, exp, MathExp) \
V(Math, sqrt, MathSqrt) \
V(Math, pow, MathPow) \
V(Math, max, MathMax) \
V(Math, min, MathMin) \
V(Math, imul, MathImul) \
V(Math, clz32, MathClz32) \
V(Math, fround, MathFround)
enable harmony numeric enable harmony object literal extensions Optimize object Array shift
static int min(int a, int b)
Definition: liveedit.cc:273

Definition at line 6542 of file objects.h.

◆ HEAP_OBJECT_TYPE_LIST

#define HEAP_OBJECT_TYPE_LIST (   V)

Definition at line 883 of file objects.h.

◆ IC_KIND_LIST

#define IC_KIND_LIST (   V)
Value:
V(LOAD_IC) \
V(KEYED_LOAD_IC) \
V(CALL_IC) \
V(STORE_IC) \
V(KEYED_STORE_IC) \
V(BINARY_OP_IC) \
V(COMPARE_IC) \
V(COMPARE_NIL_IC) \
V(TO_BOOLEAN_IC)

Definition at line 4939 of file objects.h.

◆ INSTANCE_TYPE_LIST

#define INSTANCE_TYPE_LIST (   V)

Definition at line 339 of file objects.h.

◆ IS_TYPE_FUNCTION_DECL

#define IS_TYPE_FUNCTION_DECL (   type_)    INLINE(bool Is##type_() const);

Definition at line 998 of file objects.h.

◆ NON_IC_KIND_LIST

#define NON_IC_KIND_LIST (   V)
Value:
V(FUNCTION) \
V(OPTIMIZED_FUNCTION) \
V(STUB) \
V(HANDLER) \
V(BUILTIN) \
V(REGEXP)
#define BUILTIN(name)
Definition: builtins.cc:122

Definition at line 4931 of file objects.h.

◆ OBJECT_TYPE_LIST

#define OBJECT_TYPE_LIST (   V)
Value:
V(Smi) \
V(HeapObject) \
V(Number)

Definition at line 878 of file objects.h.

◆ STRING_TYPE_LIST

#define STRING_TYPE_LIST (   V)

Definition at line 457 of file objects.h.

◆ STRUCT_LIST

#define STRUCT_LIST (   V)
Value:
V(BOX, Box, box) \
V(DECLARED_ACCESSOR_DESCRIPTOR, \
DeclaredAccessorDescriptor, \
declared_accessor_descriptor) \
V(DECLARED_ACCESSOR_INFO, DeclaredAccessorInfo, declared_accessor_info) \
V(EXECUTABLE_ACCESSOR_INFO, ExecutableAccessorInfo, executable_accessor_info)\
V(ACCESSOR_PAIR, AccessorPair, accessor_pair) \
V(ACCESS_CHECK_INFO, AccessCheckInfo, access_check_info) \
V(INTERCEPTOR_INFO, InterceptorInfo, interceptor_info) \
V(CALL_HANDLER_INFO, CallHandlerInfo, call_handler_info) \
V(FUNCTION_TEMPLATE_INFO, FunctionTemplateInfo, function_template_info) \
V(OBJECT_TEMPLATE_INFO, ObjectTemplateInfo, object_template_info) \
V(SIGNATURE_INFO, SignatureInfo, signature_info) \
V(TYPE_SWITCH_INFO, TypeSwitchInfo, type_switch_info) \
V(SCRIPT, Script, script) \
V(ALLOCATION_SITE, AllocationSite, allocation_site) \
V(ALLOCATION_MEMENTO, AllocationMemento, allocation_memento) \
V(CODE_CACHE, CodeCache, code_cache) \
V(POLYMORPHIC_CODE_CACHE, PolymorphicCodeCache, polymorphic_code_cache) \
V(TYPE_FEEDBACK_INFO, TypeFeedbackInfo, type_feedback_info) \
V(ALIASED_ARGUMENTS_ENTRY, AliasedArgumentsEntry, aliased_arguments_entry) \
V(DEBUG_INFO, DebugInfo, debug_info) \
V(BREAK_POINT_INFO, BreakPointInfo, break_point_info)

Definition at line 515 of file objects.h.

◆ TYPED_ARRAYS

#define TYPED_ARRAYS (   V)
Value:
V(Uint8, uint8, UINT8, uint8_t, 1) \
V(Int8, int8, INT8, int8_t, 1) \
V(Uint16, uint16, UINT16, uint16_t, 2) \
V(Int16, int16, INT16, int16_t, 2) \
V(Uint32, uint32, UINT32, uint32_t, 4) \
V(Int32, int32, INT32, int32_t, 4) \
V(Float32, float32, FLOAT32, float, 4) \
V(Float64, float64, FLOAT64, double, 8) \
V(Uint8Clamped, uint8_clamped, UINT8_CLAMPED, uint8_t, 1)
unsigned short uint16_t
Definition: unicode.cc:23
signed short int16_t
Definition: unicode.cc:22
int int32_t
Definition: unicode.cc:24

Definition at line 4433 of file objects.h.

◆ VISITOR_SYNCHRONIZATION_TAGS_LIST

#define VISITOR_SYNCHRONIZATION_TAGS_LIST (   V)
Value:
V(kStringTable, "string_table", "(Internalized strings)") \
V(kExternalStringsTable, "external_strings_table", "(External strings)") \
V(kStrongRootList, "strong_root_list", "(Strong roots)") \
V(kSmiRootList, "smi_root_list", "(Smi roots)") \
V(kInternalizedString, "internalized_string", "(Internal string)") \
V(kBootstrapper, "bootstrapper", "(Bootstrapper)") \
V(kTop, "top", "(Isolate)") \
V(kRelocatable, "relocatable", "(Relocatable)") \
V(kDebug, "debug", "(Debugger)") \
V(kCompilationCache, "compilationcache", "(Compilation cache)") \
V(kHandleScope, "handlescope", "(Handle scope)") \
V(kBuiltins, "builtins", "(Builtins)") \
V(kGlobalHandles, "globalhandles", "(Global handles)") \
V(kEternalHandles, "eternalhandles", "(Eternal handles)") \
V(kThreadManager, "threadmanager", "(Thread manager)") \
V(kExtensions, "Extensions", "(Extensions)")

Definition at line 10684 of file objects.h.