v8  3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
elements.cc File Reference
#include "v8.h"
#include "objects.h"
#include "elements.h"
#include "utils.h"
Include dependency graph for elements.cc:

Go to the source code of this file.

Data Structures

class  ElementsKindTraits< Kind >
 
class  ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >
 
class  FastElementsAccessor< FastElementsAccessorSubclass, KindTraits, ElementSize >
 
class  FastSmiOrObjectElementsAccessor< FastElementsAccessorSubclass, KindTraits >
 
class  FastPackedSmiElementsAccessor
 
class  FastHoleySmiElementsAccessor
 
class  FastPackedObjectElementsAccessor
 
class  FastHoleyObjectElementsAccessor
 
class  FastDoubleElementsAccessor< FastElementsAccessorSubclass, KindTraits >
 
class  FastPackedDoubleElementsAccessor
 
class  FastHoleyDoubleElementsAccessor
 
class  ExternalElementsAccessor< ExternalElementsAccessorSubclass, Kind >
 
class  ExternalByteElementsAccessor
 
class  ExternalUnsignedByteElementsAccessor
 
class  ExternalShortElementsAccessor
 
class  ExternalUnsignedShortElementsAccessor
 
class  ExternalIntElementsAccessor
 
class  ExternalUnsignedIntElementsAccessor
 
class  ExternalFloatElementsAccessor
 
class  ExternalDoubleElementsAccessor
 
class  PixelElementsAccessor
 
class  DictionaryElementsAccessor
 
class  NonStrictArgumentsElementsAccessor
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define ELEMENTS_LIST(V)
 
#define ELEMENTS_TRAITS(Class, KindParam, Store)
 
#define ACCESSOR_ARRAY(Class, Kind, Store)   new Class(#Kind),
 
#define ACCESSOR_DELETE(Class, Kind, Store)   delete elements_accessors_[Kind];
 

Functions

void CopyObjectToObjectElements (FixedArray *from, ElementsKind from_kind, uint32_t from_start, FixedArray *to, ElementsKind to_kind, uint32_t to_start, int raw_copy_size)
 

Macro Definition Documentation

#define ACCESSOR_ARRAY (   Class,
  Kind,
  Store 
)    new Class(#Kind),
#define ACCESSOR_DELETE (   Class,
  Kind,
  Store 
)    delete elements_accessors_[Kind];
#define ELEMENTS_LIST (   V)
Value:
V(FastPackedSmiElementsAccessor, FAST_SMI_ELEMENTS, FixedArray) \
V(FastHoleySmiElementsAccessor, FAST_HOLEY_SMI_ELEMENTS, \
FixedArray) \
V(FastPackedObjectElementsAccessor, FAST_ELEMENTS, FixedArray) \
V(FastHoleyObjectElementsAccessor, FAST_HOLEY_ELEMENTS, FixedArray) \
V(FastPackedDoubleElementsAccessor, FAST_DOUBLE_ELEMENTS, \
FixedDoubleArray) \
V(FastHoleyDoubleElementsAccessor, FAST_HOLEY_DOUBLE_ELEMENTS, \
FixedDoubleArray) \
V(DictionaryElementsAccessor, DICTIONARY_ELEMENTS, \
SeededNumberDictionary) \
V(NonStrictArgumentsElementsAccessor, NON_STRICT_ARGUMENTS_ELEMENTS, \
FixedArray) \
V(ExternalByteElementsAccessor, EXTERNAL_BYTE_ELEMENTS, \
ExternalByteArray) \
V(ExternalUnsignedByteElementsAccessor, \
EXTERNAL_UNSIGNED_BYTE_ELEMENTS, ExternalUnsignedByteArray) \
V(ExternalShortElementsAccessor, EXTERNAL_SHORT_ELEMENTS, \
ExternalShortArray) \
V(ExternalUnsignedShortElementsAccessor, \
EXTERNAL_UNSIGNED_SHORT_ELEMENTS, ExternalUnsignedShortArray) \
V(ExternalIntElementsAccessor, EXTERNAL_INT_ELEMENTS, \
ExternalIntArray) \
V(ExternalUnsignedIntElementsAccessor, \
EXTERNAL_UNSIGNED_INT_ELEMENTS, ExternalUnsignedIntArray) \
V(ExternalFloatElementsAccessor, \
EXTERNAL_FLOAT_ELEMENTS, ExternalFloatArray) \
V(ExternalDoubleElementsAccessor, \
EXTERNAL_DOUBLE_ELEMENTS, ExternalDoubleArray) \
V(PixelElementsAccessor, EXTERNAL_PIXEL_ELEMENTS, ExternalPixelArray)

Definition at line 76 of file elements.cc.

Referenced by ElementsAccessor::InitializeOncePerProcess(), and ElementsAccessor::TearDown().

#define ELEMENTS_TRAITS (   Class,
  KindParam,
  Store 
)
Value:
template<> class ElementsKindTraits<KindParam> { \
public: \
static const ElementsKind Kind = KindParam; \
typedef Store BackingStore; \
};

Definition at line 114 of file elements.cc.