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
ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam > Class Template Referenceabstract
Inheritance diagram for ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >:
Collaboration diagram for ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >:

Protected Types

typedef ElementsTraitsParam ElementsTraits
 
typedef
ElementsTraitsParam::BackingStore 
BackingStore
 

Protected Member Functions

 ElementsAccessorBase (const char *name)
 
virtual ElementsKind kind () const
 
virtual void Validate (JSObject *holder)
 
virtual bool HasElement (Object *receiver, JSObject *holder, uint32_t key, FixedArrayBase *backing_store)
 
virtual MUST_USE_RESULT
MaybeObject * 
Get (Object *receiver, JSObject *holder, uint32_t key, FixedArrayBase *backing_store)
 
virtual MUST_USE_RESULT
MaybeObject * 
SetLength (JSArray *array, Object *length)
 
virtual MUST_USE_RESULT
MaybeObject * 
SetCapacityAndLength (JSArray *array, int capacity, int length)
 
virtual MUST_USE_RESULT
MaybeObject * 
Delete (JSObject *obj, uint32_t key, JSReceiver::DeleteMode mode)=0
 
virtual MUST_USE_RESULT
MaybeObject * 
CopyElements (JSObject *from_holder, uint32_t from_start, FixedArrayBase *to, ElementsKind to_kind, uint32_t to_start, int copy_size, FixedArrayBase *from)
 
virtual MUST_USE_RESULT
MaybeObject * 
AddElementsToFixedArray (Object *receiver, JSObject *holder, FixedArray *to, FixedArrayBase *from)
 
virtual uint32_t GetCapacity (FixedArrayBase *backing_store)
 
virtual uint32_t GetKeyForIndex (FixedArrayBase *backing_store, uint32_t index)
 

Static Protected Member Functions

static void ValidateContents (JSObject *holder, int length)
 
static void ValidateImpl (JSObject *holder)
 
static bool HasElementImpl (Object *receiver, JSObject *holder, uint32_t key, BackingStore *backing_store)
 
static MUST_USE_RESULT
MaybeObject * 
GetImpl (Object *receiver, JSObject *obj, uint32_t key, BackingStore *backing_store)
 
static MUST_USE_RESULT
MaybeObject * 
SetLengthImpl (JSObject *obj, Object *length, BackingStore *backing_store)
 
static MUST_USE_RESULT
MaybeObject * 
SetFastElementsCapacityAndLength (JSObject *obj, int capacity, int length)
 
static MUST_USE_RESULT
MaybeObject * 
CopyElementsImpl (FixedArrayBase *from, uint32_t from_start, FixedArrayBase *to, ElementsKind to_kind, uint32_t to_start, int packed_size, int copy_size)
 
static uint32_t GetCapacityImpl (BackingStore *backing_store)
 
static uint32_t GetKeyForIndexImpl (BackingStore *backing_store, uint32_t index)
 

Additional Inherited Members

- Public Member Functions inherited from ElementsAccessor
 ElementsAccessor (const char *name)
 
virtual ~ElementsAccessor ()
 
const char * name () const
 
MUST_USE_RESULT MaybeObject * CopyElements (JSObject *from_holder, FixedArrayBase *to, ElementsKind to_kind, FixedArrayBase *from=NULL)
 
- Static Public Member Functions inherited from ElementsAccessor
static ElementsAccessorForKind (ElementsKind elements_kind)
 
static ElementsAccessorForArray (FixedArrayBase *array)
 
static void InitializeOncePerProcess ()
 
static void TearDown ()
 
- Static Public Attributes inherited from ElementsAccessor
static const int kCopyToEnd = -1
 
static const int kCopyToEndAndInitializeToHole = -2
 

Detailed Description

template<typename ElementsAccessorSubclass, typename ElementsTraitsParam>
class v8::internal::ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >

Definition at line 485 of file elements.cc.

Member Typedef Documentation

typedef ElementsTraitsParam::BackingStore BackingStore
protected

Definition at line 491 of file elements.cc.

typedef ElementsTraitsParam ElementsTraits
protected

Definition at line 490 of file elements.cc.

Constructor & Destructor Documentation

ElementsAccessorBase ( const char *  name)
inlineexplicitprotected

Definition at line 487 of file elements.cc.

Member Function Documentation

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

Implements ElementsAccessor.

Definition at line 641 of file elements.cc.

virtual MUST_USE_RESULT MaybeObject* CopyElements ( JSObject from_holder,
uint32_t  from_start,
FixedArrayBase to,
ElementsKind  to_kind,
uint32_t  to_start,
int  copy_size,
FixedArrayBase from 
)
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 611 of file elements.cc.

static MUST_USE_RESULT MaybeObject* CopyElementsImpl ( FixedArrayBase from,
uint32_t  from_start,
FixedArrayBase to,
ElementsKind  to_kind,
uint32_t  to_start,
int  packed_size,
int  copy_size 
)
inlinestaticprotected

Definition at line 600 of file elements.cc.

virtual MUST_USE_RESULT MaybeObject* Delete ( JSObject obj,
uint32_t  key,
JSReceiver::DeleteMode  mode 
)
protectedpure virtual

Implements ElementsAccessor.

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 >, and FastElementsAccessor< FastPackedSmiElementsAccessor, ElementsKindTraits< FAST_SMI_ELEMENTS >, kPointerSize >.

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

Implements ElementsAccessor.

Definition at line 547 of file elements.cc.

virtual uint32_t GetCapacity ( FixedArrayBase backing_store)
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 728 of file elements.cc.

static uint32_t GetCapacityImpl ( BackingStore backing_store)
inlinestaticprotected

Definition at line 724 of file elements.cc.

static MUST_USE_RESULT MaybeObject* GetImpl ( Object receiver,
JSObject obj,
uint32_t  key,
BackingStore backing_store 
)
inlinestaticprotected

Definition at line 558 of file elements.cc.

virtual uint32_t GetKeyForIndex ( FixedArrayBase backing_store,
uint32_t  index 
)
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 738 of file elements.cc.

static uint32_t GetKeyForIndexImpl ( BackingStore backing_store,
uint32_t  index 
)
inlinestaticprotected

Definition at line 733 of file elements.cc.

virtual bool HasElement ( Object receiver,
JSObject holder,
uint32_t  key,
FixedArrayBase backing_store 
)
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 536 of file elements.cc.

static bool HasElementImpl ( Object receiver,
JSObject holder,
uint32_t  key,
BackingStore backing_store 
)
inlinestaticprotected

Definition at line 527 of file elements.cc.

virtual ElementsKind kind ( ) const
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 493 of file elements.cc.

virtual MUST_USE_RESULT MaybeObject* SetCapacityAndLength ( JSArray array,
int  capacity,
int  length 
)
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 578 of file elements.cc.

static MUST_USE_RESULT MaybeObject* SetFastElementsCapacityAndLength ( JSObject obj,
int  capacity,
int  length 
)
inlinestaticprotected

Definition at line 588 of file elements.cc.

virtual MUST_USE_RESULT MaybeObject* SetLength ( JSArray array,
Object length 
)
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 567 of file elements.cc.

virtual void Validate ( JSObject holder)
inlineprotectedvirtual

Implements ElementsAccessor.

Definition at line 523 of file elements.cc.

static void ValidateContents ( JSObject holder,
int  length 
)
inlinestaticprotected

Definition at line 495 of file elements.cc.

static void ValidateImpl ( JSObject holder)
inlinestaticprotected

Definition at line 498 of file elements.cc.


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