v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ElementsAccessor Class Referenceabstract

#include <elements.h>

Inheritance diagram for ElementsAccessor:

Public Member Functions

 ElementsAccessor (const char *name)
 
virtual ~ElementsAccessor ()
 
virtual ElementsKind kind () const =0
 
const char * name () const
 
virtual void Validate (JSObject *obj)=0
 
virtual bool HasElement (Object *receiver, JSObject *holder, uint32_t key, FixedArrayBase *backing_store=NULL)=0
 
virtual MUST_USE_RESULT
MaybeObject * 
Get (Object *receiver, JSObject *holder, uint32_t key, FixedArrayBase *backing_store=NULL)=0
 
virtual MUST_USE_RESULT
MaybeObject * 
SetLength (JSArray *holder, Object *new_length)=0
 
virtual MUST_USE_RESULT
MaybeObject * 
SetCapacityAndLength (JSArray *array, int capacity, int length)=0
 
virtual MUST_USE_RESULT
MaybeObject * 
Delete (JSObject *holder, uint32_t key, JSReceiver::DeleteMode mode)=0
 
virtual MUST_USE_RESULT
MaybeObject * 
CopyElements (JSObject *source_holder, uint32_t source_start, FixedArrayBase *destination, ElementsKind destination_kind, uint32_t destination_start, int copy_size, FixedArrayBase *source=NULL)=0
 
MUST_USE_RESULT MaybeObject * CopyElements (JSObject *from_holder, FixedArrayBase *to, ElementsKind to_kind, FixedArrayBase *from=NULL)
 
virtual MUST_USE_RESULT
MaybeObject * 
AddElementsToFixedArray (Object *receiver, JSObject *holder, FixedArray *to, FixedArrayBase *from=NULL)=0
 

Static Public Member Functions

static ElementsAccessorForKind (ElementsKind elements_kind)
 
static ElementsAccessorForArray (FixedArrayBase *array)
 
static void InitializeOncePerProcess ()
 
static void TearDown ()
 

Static Public Attributes

static const int kCopyToEnd = -1
 
static const int kCopyToEndAndInitializeToHole = -2
 

Protected Member Functions

virtual uint32_t GetCapacity (FixedArrayBase *backing_store)=0
 
virtual uint32_t GetKeyForIndex (FixedArrayBase *backing_store, uint32_t index)=0
 

Friends

class NonStrictArgumentsElementsAccessor
 

Detailed Description

Definition at line 41 of file elements.h.

Constructor & Destructor Documentation

ElementsAccessor ( const char *  name)
inlineexplicit

Definition at line 43 of file elements.h.

virtual ~ElementsAccessor ( )
inlinevirtual

Definition at line 44 of file elements.h.

Member Function Documentation

virtual MUST_USE_RESULT MaybeObject* AddElementsToFixedArray ( Object receiver,
JSObject holder,
FixedArray to,
FixedArrayBase from = NULL 
)
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by FixedArray::AddKeysFromJSArray(), and FixedArray::UnionOfKeys().

virtual MUST_USE_RESULT MaybeObject* CopyElements ( JSObject source_holder,
uint32_t  source_start,
FixedArrayBase destination,
ElementsKind  destination_kind,
uint32_t  destination_start,
int  copy_size,
FixedArrayBase source = NULL 
)
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by ElementsAccessor::CopyElements(), JSObject::SetFastDoubleElementsCapacityAndLength(), and JSObject::SetFastElementsCapacityAndLength().

MUST_USE_RESULT MaybeObject* CopyElements ( JSObject from_holder,
FixedArrayBase to,
ElementsKind  to_kind,
FixedArrayBase from = NULL 
)
inline
virtual MUST_USE_RESULT MaybeObject* Delete ( JSObject holder,
uint32_t  key,
JSReceiver::DeleteMode  mode 
)
pure virtual

Implemented in NonStrictArgumentsElementsAccessor, DictionaryElementsAccessor, ExternalElementsAccessor< ExternalElementsAccessorSubclass, Kind >, ExternalElementsAccessor< ExternalIntElementsAccessor, EXTERNAL_INT_ELEMENTS >, ExternalElementsAccessor< PixelElementsAccessor, EXTERNAL_PIXEL_ELEMENTS >, ExternalElementsAccessor< ExternalShortElementsAccessor, EXTERNAL_SHORT_ELEMENTS >, ExternalElementsAccessor< ExternalUnsignedByteElementsAccessor, EXTERNAL_UNSIGNED_BYTE_ELEMENTS >, ExternalElementsAccessor< ExternalUnsignedShortElementsAccessor, EXTERNAL_UNSIGNED_SHORT_ELEMENTS >, ExternalElementsAccessor< ExternalFloatElementsAccessor, EXTERNAL_FLOAT_ELEMENTS >, ExternalElementsAccessor< ExternalUnsignedIntElementsAccessor, EXTERNAL_UNSIGNED_INT_ELEMENTS >, ExternalElementsAccessor< ExternalDoubleElementsAccessor, EXTERNAL_DOUBLE_ELEMENTS >, ExternalElementsAccessor< ExternalByteElementsAccessor, EXTERNAL_BYTE_ELEMENTS >, FastElementsAccessor< FastElementsAccessorSubclass, KindTraits, ElementSize >, FastElementsAccessor< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS >, kDoubleSize >, FastElementsAccessor< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS >, kPointerSize >, FastElementsAccessor< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS >, kPointerSize >, FastElementsAccessor< FastElementsAccessorSubclass, KindTraits, kPointerSize >, FastElementsAccessor< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS >, kDoubleSize >, FastElementsAccessor< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS >, kPointerSize >, FastElementsAccessor< FastElementsAccessorSubclass, KindTraits, kDoubleSize >, FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >, ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by JSObject::DeleteElement().

virtual MUST_USE_RESULT MaybeObject* Get ( Object receiver,
JSObject holder,
uint32_t  key,
FixedArrayBase backing_store = NULL 
)
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by JSObject::GetElementWithInterceptor(), Object::GetElementWithReceiver(), and NonStrictArgumentsElementsAccessor::GetImpl().

virtual uint32_t GetCapacity ( FixedArrayBase backing_store)
protectedpure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by NonStrictArgumentsElementsAccessor::GetCapacityImpl().

virtual uint32_t GetKeyForIndex ( FixedArrayBase backing_store,
uint32_t  index 
)
protectedpure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

virtual bool HasElement ( Object receiver,
JSObject holder,
uint32_t  key,
FixedArrayBase backing_store = NULL 
)
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by JSObject::HasElementWithReceiver().

void InitializeOncePerProcess ( )
static
virtual ElementsKind kind ( ) const
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

const char* name ( ) const
inline
virtual MUST_USE_RESULT MaybeObject* SetCapacityAndLength ( JSArray array,
int  capacity,
int  length 
)
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by Factory::SetElementsCapacityAndLength().

virtual MUST_USE_RESULT MaybeObject* SetLength ( JSArray holder,
Object new_length 
)
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by JSArray::SetElementsLength().

void TearDown ( )
static

Definition at line 1620 of file elements.cc.

References ACCESSOR_DELETE, ELEMENTS_LIST, and v8::internal::NULL.

Referenced by V8::TearDown().

virtual void Validate ( JSObject obj)
pure virtual

Implemented in ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >, ElementsAccessorBase< PixelElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalElementsAccessorSubclass, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedDoubleElementsAccessor, ElementsKindTraits< FAST_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastHoleyDoubleElementsAccessor, ElementsKindTraits< FAST_HOLEY_DOUBLE_ELEMENTS > >, ElementsAccessorBase< FastElementsAccessorSubclass, KindTraits >, ElementsAccessorBase< FastHoleySmiElementsAccessor, ElementsKindTraits< FAST_HOLEY_SMI_ELEMENTS > >, ElementsAccessorBase< ExternalUnsignedByteElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< FastPackedObjectElementsAccessor, ElementsKindTraits< FAST_ELEMENTS > >, ElementsAccessorBase< FastHoleyObjectElementsAccessor, ElementsKindTraits< FAST_HOLEY_ELEMENTS > >, ElementsAccessorBase< NonStrictArgumentsElementsAccessor, ElementsKindTraits< NON_STRICT_ARGUMENTS_ELEMENTS > >, ElementsAccessorBase< ExternalIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalFloatElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedIntElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalUnsignedShortElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< ExternalDoubleElementsAccessor, ElementsKindTraits< Kind > >, ElementsAccessorBase< DictionaryElementsAccessor, ElementsKindTraits< DICTIONARY_ELEMENTS > >, and ElementsAccessorBase< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS > >.

Referenced by JSObject::ValidateElements().

Friends And Related Function Documentation

Definition at line 145 of file elements.h.

Field Documentation

const int kCopyToEnd = -1
static

Definition at line 99 of file elements.h.

Referenced by v8::internal::CopyObjectToObjectElements().

const int kCopyToEndAndInitializeToHole = -2
static

The documentation for this class was generated from the following files: