v8  3.25.30(node0.11.13)
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 "arguments.h"
#include "objects.h"
#include "elements.h"
#include "utils.h"
#include "v8conversions.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  TypedElementsAccessor< Kind >
 
class  DictionaryElementsAccessor
 
class  SloppyArgumentsElementsAccessor
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define ELEMENTS_LIST(V)
 
#define ELEMENTS_TRAITS(Class, KindParam, Store)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size)
 
#define EXTERNAL_ELEMENTS_ACCESSOR(Type, type, TYPE, ctype, size)
 
#define FIXED_ELEMENTS_ACCESSOR(Type, type, TYPE, ctype, size)
 
#define ACCESSOR_ARRAY(Class, Kind, Store)   new Class(#Kind),
 
#define ACCESSOR_DELETE(Class, Kind, Store)   delete elements_accessors_[Kind];
 

Functions

void CheckArrayAbuse (JSObject *obj, const char *op, uint32_t key, bool allow_appending)
 
Handle< Object > ArrayConstructInitializeElements (Handle< JSArray > array, Arguments *args)
 

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

Definition at line 136 of file elements.cc.

#define EXTERNAL_ELEMENTS_ACCESSOR (   Type,
  type,
  TYPE,
  ctype,
  size 
)
Value:
typedef TypedElementsAccessor<EXTERNAL_##TYPE##_ELEMENTS> \
External##Type##ElementsAccessor;
TypeImpl< ZoneTypeConfig > Type

Definition at line 1407 of file elements.cc.

#define FIXED_ELEMENTS_ACCESSOR (   Type,
  type,
  TYPE,
  ctype,
  size 
)
Value:
typedef TypedElementsAccessor<TYPE##_ELEMENTS > \
Fixed##Type##ElementsAccessor;
TypeImpl< ZoneTypeConfig > Type

Definition at line 1414 of file elements.cc.

#define TYPED_ARRAY_CASE (   Type,
  type,
  TYPE,
  ctype,
  size 
)
#define TYPED_ARRAY_CASE (   Type,
  type,
  TYPE,
  ctype,
  size 
)
Value:
case EXTERNAL_##TYPE##_ELEMENTS: \
case TYPE##_ELEMENTS: \
#define UNREACHABLE()
Definition: checks.h:52
#define TYPED_ARRAY_CASE (   Type,
  type,
  TYPE,
  ctype,
  size 
)
Value:
case EXTERNAL_##TYPE##_ELEMENTS: \
case TYPE##_ELEMENTS: \
#define UNREACHABLE()
Definition: checks.h:52