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-kind.h File Reference
#include "v8checks.h"
Include dependency graph for elements-kind.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 v8
 
 v8::internal
 

Enumerations

enum  ElementsKind {
  FAST_SMI_ELEMENTS, FAST_HOLEY_SMI_ELEMENTS, FAST_ELEMENTS, FAST_HOLEY_ELEMENTS,
  FAST_DOUBLE_ELEMENTS, FAST_HOLEY_DOUBLE_ELEMENTS, DICTIONARY_ELEMENTS, SLOPPY_ARGUMENTS_ELEMENTS,
  EXTERNAL_INT8_ELEMENTS, EXTERNAL_UINT8_ELEMENTS, EXTERNAL_INT16_ELEMENTS, EXTERNAL_UINT16_ELEMENTS,
  EXTERNAL_INT32_ELEMENTS, EXTERNAL_UINT32_ELEMENTS, EXTERNAL_FLOAT32_ELEMENTS, EXTERNAL_FLOAT64_ELEMENTS,
  EXTERNAL_UINT8_CLAMPED_ELEMENTS, UINT8_ELEMENTS, INT8_ELEMENTS, UINT16_ELEMENTS,
  INT16_ELEMENTS, UINT32_ELEMENTS, INT32_ELEMENTS, FLOAT32_ELEMENTS,
  FLOAT64_ELEMENTS, UINT8_CLAMPED_ELEMENTS, FIRST_ELEMENTS_KIND = FAST_SMI_ELEMENTS, LAST_ELEMENTS_KIND = UINT8_CLAMPED_ELEMENTS,
  FIRST_FAST_ELEMENTS_KIND = FAST_SMI_ELEMENTS, LAST_FAST_ELEMENTS_KIND = FAST_HOLEY_DOUBLE_ELEMENTS, FIRST_EXTERNAL_ARRAY_ELEMENTS_KIND = EXTERNAL_INT8_ELEMENTS, LAST_EXTERNAL_ARRAY_ELEMENTS_KIND = EXTERNAL_UINT8_CLAMPED_ELEMENTS,
  FIRST_FIXED_TYPED_ARRAY_ELEMENTS_KIND = UINT8_ELEMENTS, LAST_FIXED_TYPED_ARRAY_ELEMENTS_KIND = UINT8_CLAMPED_ELEMENTS, TERMINAL_FAST_ELEMENTS_KIND = FAST_HOLEY_ELEMENTS
}
 

Functions

int ElementsKindToShiftSize (ElementsKind elements_kind)
 
const char * ElementsKindToString (ElementsKind kind)
 
void PrintElementsKind (FILE *out, ElementsKind kind)
 
ElementsKind GetInitialFastElementsKind ()
 
ElementsKind GetFastElementsKindFromSequenceIndex (int sequence_number)
 
int GetSequenceIndexFromFastElementsKind (ElementsKind elements_kind)
 
ElementsKind GetNextTransitionElementsKind (ElementsKind kind)
 
bool IsDictionaryElementsKind (ElementsKind kind)
 
bool IsExternalArrayElementsKind (ElementsKind kind)
 
bool IsTerminalElementsKind (ElementsKind kind)
 
bool IsFixedTypedArrayElementsKind (ElementsKind kind)
 
bool IsFastElementsKind (ElementsKind kind)
 
bool IsTransitionElementsKind (ElementsKind kind)
 
bool IsFastDoubleElementsKind (ElementsKind kind)
 
bool IsExternalFloatOrDoubleElementsKind (ElementsKind kind)
 
bool IsFixedFloatElementsKind (ElementsKind kind)
 
bool IsDoubleOrFloatElementsKind (ElementsKind kind)
 
bool IsFastSmiOrObjectElementsKind (ElementsKind kind)
 
bool IsFastSmiElementsKind (ElementsKind kind)
 
bool IsFastObjectElementsKind (ElementsKind kind)
 
bool IsFastHoleyElementsKind (ElementsKind kind)
 
bool IsHoleyElementsKind (ElementsKind kind)
 
bool IsFastPackedElementsKind (ElementsKind kind)
 
ElementsKind GetPackedElementsKind (ElementsKind holey_kind)
 
ElementsKind GetHoleyElementsKind (ElementsKind packed_kind)
 
ElementsKind FastSmiToObjectElementsKind (ElementsKind from_kind)
 
bool IsSimpleMapChangeTransition (ElementsKind from_kind, ElementsKind to_kind)
 
bool IsMoreGeneralElementsKindTransition (ElementsKind from_kind, ElementsKind to_kind)
 
bool IsTransitionableFastElementsKind (ElementsKind from_kind)
 
ElementsKind GetNextMoreGeneralFastElementsKind (ElementsKind elements_kind, bool allow_only_packed)
 
bool CanTransitionToMoreGeneralFastElementsKind (ElementsKind elements_kind, bool allow_only_packed)
 

Variables

const int kElementsKindCount = LAST_ELEMENTS_KIND - FIRST_ELEMENTS_KIND + 1
 
const int kFastElementsKindCount
 
const int kFastElementsKindPackedToHoley