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

Go to the source code of this file.

Data Structures

class  Handle< T >
 
class  SplayTree< Config, AllocationPolicy >
 
struct  CodeDesc
 
union  DoubleRepresentation
 
union  IeeeDoubleLittleEndianArchType
 
union  IeeeDoubleBigEndianArchType
 
struct  AccessorDescriptor
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define STATE_TAG_LIST(V)
 
#define DEF_STATE_TAG(name)   name,
 
#define HAS_SMI_TAG(value)   ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag)
 
#define HAS_FAILURE_TAG(value)   ((reinterpret_cast<intptr_t>(value) & kFailureTagMask) == kFailureTag)
 
#define OBJECT_POINTER_ALIGN(value)   (((value) + kObjectAlignmentMask) & ~kObjectAlignmentMask)
 
#define POINTER_SIZE_ALIGN(value)   (((value) + kPointerAlignmentMask) & ~kPointerAlignmentMask)
 
#define CODE_POINTER_ALIGN(value)   (((value) + kCodeAlignmentMask) & ~kCodeAlignmentMask)
 
#define TRACK_MEMORY(name)
 

Typedefs

typedef bool(* WeakSlotCallback )(Object **pointer)
 
typedef bool(* WeakSlotCallbackWithHeap )(Heap *heap, Object **pointer)
 
typedef int(* HeapObjectCallback )(HeapObject *obj)
 
typedef bool(* ConstraintCallback )(Address new_addr, Address old_addr)
 
typedef void(* InlineCacheCallback )(Code *code, Address ic)
 
typedef void(* StoreBufferCallback )(Heap *heap, MemoryChunk *page, StoreBufferEvent event)
 

Enumerations

enum  AllocationSpace {
  NEW_SPACE, OLD_POINTER_SPACE, OLD_DATA_SPACE, CODE_SPACE,
  MAP_SPACE, CELL_SPACE, LO_SPACE, FIRST_SPACE = NEW_SPACE,
  LAST_SPACE = LO_SPACE, FIRST_PAGED_SPACE = OLD_POINTER_SPACE, LAST_PAGED_SPACE = CELL_SPACE
}
 
enum  PretenureFlag { NOT_TENURED, TENURED }
 
enum  GarbageCollector { SCAVENGER, MARK_COMPACTOR }
 
enum  Executability { NOT_EXECUTABLE, EXECUTABLE }
 
enum  VisitMode { VISIT_ALL, VISIT_ALL_IN_SCAVENGE, VISIT_ALL_IN_SWEEP_NEWSPACE, VISIT_ONLY_STRONG }
 
enum  NativesFlag { NOT_NATIVES_CODE, NATIVES_CODE }
 
enum  InlineCacheState {
  UNINITIALIZED, PREMONOMORPHIC, MONOMORPHIC, MONOMORPHIC_PROTOTYPE_FAILURE,
  MEGAMORPHIC, DEBUG_BREAK, DEBUG_PREPARE_STEP_IN
}
 
enum  CheckType { RECEIVER_MAP_CHECK, STRING_CHECK, NUMBER_CHECK, BOOLEAN_CHECK }
 
enum  CallFunctionFlags { NO_CALL_FUNCTION_FLAGS = 0, RECEIVER_MIGHT_BE_IMPLICIT = 1 << 0, RECORD_CALL_TARGET = 1 << 1 }
 
enum  InlineCacheHolderFlag { OWN_MAP, PROTOTYPE_MAP }
 
enum  StoreBufferEvent { kStoreBufferFullEvent, kStoreBufferStartScanningPagesEvent, kStoreBufferScanningPageEvent }
 
enum  StateTag { state_tag_count }
 
enum  CpuImplementer { UNKNOWN_IMPLEMENTER, ARM_IMPLEMENTER, QUALCOMM_IMPLEMENTER }
 
enum  CpuFeature {
  SSE4_1 = 32 + 19, SSE3 = 32 + 0, SSE2 = 26, CMOV = 15,
  RDTSC = 4, CPUID = 10, VFP3 = 1, ARMv7 = 2,
  VFP2 = 3, SUDIV = 4, UNALIGNED_ACCESSES = 5, MOVW_MOVT_IMMEDIATE_LOADS = 6,
  SAHF = 0, FPU = 1
}
 
enum  SmiCheckType { DONT_DO_SMI_CHECK, DO_SMI_CHECK }
 
enum  CallKind { CALL_AS_METHOD, CALL_AS_FUNCTION }
 
enum  ScopeType {
  EVAL_SCOPE, FUNCTION_SCOPE, MODULE_SCOPE, GLOBAL_SCOPE,
  CATCH_SCOPE, BLOCK_SCOPE, WITH_SCOPE
}
 
enum  VariableMode {
  VAR, CONST, LET, CONST_HARMONY,
  DYNAMIC, DYNAMIC_GLOBAL, DYNAMIC_LOCAL, INTERNAL,
  TEMPORARY
}
 
enum  InitializationFlag { kNeedsInitialization, kCreatedInitialized }
 
enum  ClearExceptionFlag { KEEP_EXCEPTION, CLEAR_EXCEPTION }
 

Functions

bool IsDynamicVariableMode (VariableMode mode)
 
bool IsDeclaredVariableMode (VariableMode mode)
 
bool IsLexicalVariableMode (VariableMode mode)
 
bool IsImmutableVariableMode (VariableMode mode)
 

Variables

const intptr_t kSmiSignMask = kIntptrSignBit
 
const int kObjectAlignmentBits = kPointerSizeLog2
 
const intptr_t kObjectAlignment = 1 << kObjectAlignmentBits
 
const intptr_t kObjectAlignmentMask = kObjectAlignment - 1
 
const intptr_t kPointerAlignment = (1 << kPointerSizeLog2)
 
const intptr_t kPointerAlignmentMask = kPointerAlignment - 1
 
const intptr_t kDoubleAlignment = 8
 
const intptr_t kDoubleAlignmentMask = kDoubleAlignment - 1
 
const int kCodeAlignmentBits = 5
 
const intptr_t kCodeAlignment = 1 << kCodeAlignmentBits
 
const intptr_t kCodeAlignmentMask = kCodeAlignment - 1
 
const int kFailureTag = 3
 
const int kFailureTagSize = 2
 
const intptr_t kFailureTagMask = (1 << kFailureTagSize) - 1
 
const Address kZapValue = reinterpret_cast<Address>(0xdeadbeef)
 
const Address kHandleZapValue = reinterpret_cast<Address>(0xbaddeaf)
 
const Address kFromSpaceZapValue = reinterpret_cast<Address>(0xbeefdaf)
 
const uint32_t kSlotsZapValue = 0xbeefdeef
 
const uint32_t kDebugZapValue = 0xbadbaddb
 
const uint32_t kFreeListZapValue = 0xfeed1eaf
 
const int kCodeZapValue = 0xbadc0de
 
const int kPageSizeBits = 20
 
const int kProcessorCacheLineSize = 64
 
const uint32_t kQuietNaNHighBitsMask = 0xfff << (51 - 32)
 
const int kSpaceTagSize = 3
 
const int kSpaceTagMask = (1 << kSpaceTagSize) - 1
 
const uint32_t kHoleNanUpper32 = 0x7FFFFFFF
 
const uint32_t kHoleNanLower32 = 0xFFFFFFFF
 
const uint32_t kNaNOrInfinityLowerBoundUpper32 = 0x7FF00000
 
const uint64_t kHoleNanInt64
 
const uint64_t kLastNonNaNInt64
 

Macro Definition Documentation

#define CODE_POINTER_ALIGN (   value)    (((value) + kCodeAlignmentMask) & ~kCodeAlignmentMask)

Definition at line 391 of file v8globals.h.

#define DEF_STATE_TAG (   name)    name,

Definition at line 363 of file v8globals.h.

#define HAS_FAILURE_TAG (   value)    ((reinterpret_cast<intptr_t>(value) & kFailureTagMask) == kFailureTag)

Definition at line 379 of file v8globals.h.

Referenced by Failure::cast().

#define HAS_SMI_TAG (   value)    ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag)

Definition at line 376 of file v8globals.h.

#define OBJECT_POINTER_ALIGN (   value)    (((value) + kObjectAlignmentMask) & ~kObjectAlignmentMask)
#define POINTER_SIZE_ALIGN (   value)    (((value) + kPointerAlignmentMask) & ~kPointerAlignmentMask)

Definition at line 387 of file v8globals.h.

#define STATE_TAG_LIST (   V)
Value:
V(JS) \
V(GC) \
V(COMPILER) \
V(PARALLEL_COMPILER_PROLOGUE) \
V(OTHER) \
V(EXTERNAL)

Definition at line 354 of file v8globals.h.

#define TRACK_MEMORY (   name)

Definition at line 411 of file v8globals.h.