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
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 MAP_POINTER_ALIGN(value)   (((value) + kMapAlignmentMask) & ~kMapAlignmentMask)
 
#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  TransitionFlag { REMOVE_TRANSITIONS, KEEP_TRANSITIONS }
 
enum  StateTag { state_tag_count }
 
enum  CpuFeature {
  SSE4_1 = 32 + 19, SSE3 = 32 + 0, SSE2 = 26, CMOV = 15,
  RDTSC = 4, CPUID = 10, VFP3 = 1, ARMv7 = 2,
  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, CONST_HARMONY, LET,
  DYNAMIC, DYNAMIC_GLOBAL, DYNAMIC_LOCAL, INTERNAL,
  TEMPORARY
}
 
enum  InitializationFlag { kNeedsInitialization, kCreatedInitialized }
 
enum  ClearExceptionFlag { KEEP_EXCEPTION, CLEAR_EXCEPTION }
 

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 intptr_t kMapAlignmentBits = kObjectAlignmentBits + 3
 
const intptr_t kMapAlignment = (1 << kMapAlignmentBits)
 
const intptr_t kMapAlignmentMask = kMapAlignment - 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 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 409 of file v8globals.h.

#define DEF_STATE_TAG (   name)    name,

Definition at line 377 of file v8globals.h.

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

Definition at line 393 of file v8globals.h.

Referenced by Failure::cast().

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

Definition at line 390 of file v8globals.h.

#define MAP_POINTER_ALIGN (   value)    (((value) + kMapAlignmentMask) & ~kMapAlignmentMask)

Definition at line 405 of file v8globals.h.

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

Definition at line 401 of file v8globals.h.

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

Definition at line 369 of file v8globals.h.

#define TRACK_MEMORY (   name)

Definition at line 429 of file v8globals.h.