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
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 PROCESSOR_CACHE_LINE_SIZE   64
 
#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, PROPERTY_CELL_SPACE, LO_SPACE,
  FIRST_SPACE = NEW_SPACE, LAST_SPACE = LO_SPACE, FIRST_PAGED_SPACE = OLD_POINTER_SPACE, LAST_PAGED_SPACE = PROPERTY_CELL_SPACE
}
 
enum  PretenureFlag { NOT_TENURED, TENURED }
 
enum  MinimumCapacity { USE_DEFAULT_MINIMUM_CAPACITY, USE_CUSTOM_MINIMUM_CAPACITY }
 
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,
  POLYMORPHIC, MEGAMORPHIC, GENERIC, DEBUG_STUB
}
 
enum  CallFunctionFlags { NO_CALL_FUNCTION_FLAGS, RECORD_CALL_TARGET, CALL_AS_METHOD, WRAP_AND_CALL }
 
enum  InlineCacheHolderFlag { OWN_MAP, PROTOTYPE_MAP }
 
enum  StoreBufferEvent { kStoreBufferFullEvent, kStoreBufferStartScanningPagesEvent, kStoreBufferScanningPageEvent }
 
enum  StateTag {
  JS, GC, COMPILER, OTHER,
  EXTERNAL, IDLE
}
 
enum  CpuFeature {
  SSE4_1 = 32 + 19, SSE3 = 32 + 0, SSE2 = 26, CMOV = 15,
  VFP3 = 1, ARMv7 = 2, SUDIV = 3, UNALIGNED_ACCESSES = 4,
  MOVW_MOVT_IMMEDIATE_LOADS = 5, VFP32DREGS = 6, NEON = 7, SAHF = 0,
  FPU = 1
}
 
enum  SmiCheckType { DONT_DO_SMI_CHECK, DO_SMI_CHECK }
 
enum  ScopeType {
  EVAL_SCOPE, FUNCTION_SCOPE, MODULE_SCOPE, GLOBAL_SCOPE,
  CATCH_SCOPE, BLOCK_SCOPE, WITH_SCOPE
}
 
enum  VariableMode {
  VAR, CONST_LEGACY, LET, CONST,
  MODULE, INTERNAL, TEMPORARY, DYNAMIC,
  DYNAMIC_GLOBAL, DYNAMIC_LOCAL
}
 
enum  InitializationFlag { kNeedsInitialization, kCreatedInitialized }
 
enum  ClearExceptionFlag { KEEP_EXCEPTION, CLEAR_EXCEPTION }
 
enum  MinusZeroMode { TREAT_MINUS_ZERO_AS_ZERO, FAIL_ON_MINUS_ZERO }
 

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 kGlobalHandleZapValue = reinterpret_cast<Address>(0xbaffedf)
 
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 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 394 of file v8globals.h.

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

Definition at line 382 of file v8globals.h.

Referenced by Failure::cast().

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

Definition at line 379 of file v8globals.h.

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

Definition at line 390 of file v8globals.h.

#define PROCESSOR_CACHE_LINE_SIZE   64

Definition at line 100 of file v8globals.h.

#define TRACK_MEMORY (   name)

Definition at line 414 of file v8globals.h.