構成 | ネームスペース | マクロ定義 | 型定義 | 列挙型 | 関数 | 変数

src/globals.h

#include <stdint.h>

ソースコードを見る。

構成

struct  v8::internal::CodeDesc
union  v8::internal::DoubleRepresentation
struct  v8::internal::AccessorDescriptor

ネームスペース

namespace  v8
namespace  v8::internal

マクロ定義

#define V8_GLOBALS_H_
#define CAN_READ_UNALIGNED   1
#define STATE_TAG_LIST(V)
#define DEF_STATE_TAG(name)   name,
#define HAS_SMI_TAG(value)   ((reinterpret_cast<int>(value) & kSmiTagMask) == kSmiTag)
#define HAS_FAILURE_TAG(value)   ((reinterpret_cast<int>(value) & kFailureTagMask) == kFailureTag)
#define HAS_HEAP_OBJECT_TAG(value)   ((reinterpret_cast<int>(value) & kHeapObjectTagMask) == kHeapObjectTag)
#define OBJECT_SIZE_ALIGN(value)   ((value + kObjectAlignmentMask) & ~kObjectAlignmentMask)
#define OFFSET_OF(type, field)   (reinterpret_cast<intptr_t>(&(reinterpret_cast<type*>(4)->field)) - 4)
#define ARRAY_SIZE(a)
#define FUNCTION_ADDR(f)   (reinterpret_cast<v8::internal::Address>(reinterpret_cast<intptr_t>(f)))
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName)
#define TRACK_MEMORY(name)
#define INLINE(header)   inline header

型定義

typedef uint8_t v8::internal::byte
typedef byte * v8::internal::Address
typedef uint16_t v8::internal::uc16
typedef signed int v8::internal::uc32
typedef bool(* v8::internal::WeakSlotCallback )(Object **pointer)
typedef void(* v8::internal::ObjectSlotCallback )(HeapObject **pointer)
typedef int(* v8::internal::HeapObjectCallback )(HeapObject *obj)
typedef bool(* v8::internal::ConstraintCallback )(Address new_addr, Address old_addr)
typedef void(* v8::internal::InlineCacheCallback )(Code *code, Address ic)

列挙型

enum  v8::internal::AllocationSpace {
  v8::internal::NEW_SPACE, v8::internal::OLD_POINTER_SPACE, v8::internal::OLD_DATA_SPACE, v8::internal::CODE_SPACE,
  v8::internal::MAP_SPACE, v8::internal::LO_SPACE, v8::internal::FIRST_SPACE = NEW_SPACE, v8::internal::LAST_SPACE = LO_SPACE
}
enum  v8::internal::PretenureFlag { v8::internal::NOT_TENURED, v8::internal::TENURED }
enum  v8::internal::GarbageCollector { v8::internal::SCAVENGER, v8::internal::MARK_COMPACTOR }
enum  v8::internal::Executability { v8::internal::NOT_EXECUTABLE, v8::internal::EXECUTABLE }
enum  v8::internal::InlineCacheState {
  v8::internal::UNINITIALIZED, v8::internal::PREMONOMORPHIC, v8::internal::MONOMORPHIC, v8::internal::MONOMORPHIC_PROTOTYPE_FAILURE,
  v8::internal::MEGAMORPHIC, v8::internal::DEBUG_BREAK, v8::internal::DEBUG_PREPARE_STEP_IN
}
enum  v8::internal::PropertyType {
  v8::internal::NORMAL = 0, v8::internal::FIELD = 1, v8::internal::CONSTANT_FUNCTION = 2, v8::internal::CALLBACKS = 3,
  v8::internal::INTERCEPTOR = 4, v8::internal::MAP_TRANSITION = 5, v8::internal::CONSTANT_TRANSITION = 6, v8::internal::NULL_DESCRIPTOR = 7,
  v8::internal::FIRST_PHANTOM_PROPERTY_TYPE = MAP_TRANSITION
}
enum  v8::internal::TransitionFlag { v8::internal::REMOVE_TRANSITIONS, v8::internal::KEEP_TRANSITIONS }
enum  v8::internal::StateTag

関数

template<typename T >
static void v8::internal::USE (T)
template<typename F >
v8::internal::FUNCTION_CAST (Address addr)
template<class Dest , class Source >
Dest v8::internal::bit_cast (const Source &source)

変数

const bool v8::internal::kDebug = false
const int v8::internal::KB = 1024
const int v8::internal::MB = KB * KB
const int v8::internal::GB = KB * KB * KB
const int v8::internal::kMaxInt = 0x7FFFFFFF
const int v8::internal::kMinInt = -kMaxInt - 1
const int v8::internal::kCharSize = sizeof(char)
const int v8::internal::kShortSize = sizeof(short)
const int v8::internal::kIntSize = sizeof(int)
const int v8::internal::kDoubleSize = sizeof(double)
const int v8::internal::kPointerSize = sizeof(void*)
const int v8::internal::kPointerSizeLog2 = 2
const int v8::internal::kObjectAlignmentBits = 2
const int v8::internal::kObjectAlignmentMask = (1 << kObjectAlignmentBits) - 1
const int v8::internal::kObjectAlignment = 1 << kObjectAlignmentBits
const int v8::internal::kHeapObjectTag = 1
const int v8::internal::kHeapObjectTagSize = 2
const int v8::internal::kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1
const int v8::internal::kSmiTag = 0
const int v8::internal::kSmiTagSize = 1
const int v8::internal::kSmiTagMask = (1 << kSmiTagSize) - 1
const int v8::internal::kFailureTag = 3
const int v8::internal::kFailureTagSize = 2
const int v8::internal::kFailureTagMask = (1 << kFailureTagSize) - 1
const int v8::internal::kBitsPerByte = 8
const int v8::internal::kBitsPerByteLog2 = 3
const int v8::internal::kBitsPerPointer = kPointerSize * kBitsPerByte
const int v8::internal::kBitsPerInt = kIntSize * kBitsPerByte
const Address v8::internal::kZapValue = reinterpret_cast<Address>(0xdeadbeed)
const Address v8::internal::kHandleZapValue = reinterpret_cast<Address>(0xbaddead)
const Address v8::internal::kFromSpaceZapValue = reinterpret_cast<Address>(0xbeefdad)
const int v8::internal::kSpaceTagSize = 3
const int v8::internal::kSpaceTagMask = (1 << kSpaceTagSize) - 1

マクロ定義

#define ARRAY_SIZE (   a  ) 
値:
((sizeof(a) / sizeof(*(a))) /                         \
  static_cast<size_t>(!(sizeof(a) % sizeof(*(a)))))

globals.h395 行で定義されています。

参照元 v8::internal::Execution::CharAt(), v8::internal::Token::Initialize(), v8::internal::Parser::NewThrowTypeError(), v8::internal::Runtime_CreateObjectLiteralBoilerplate(), と v8::internal::Runtime_NumberToString().

#define CAN_READ_UNALIGNED   1

globals.h77 行で定義されています。

#define DEF_STATE_TAG (   name  )     name,

globals.h355 行で定義されています。

#define DISALLOW_COPY_AND_ASSIGN (   TypeName  ) 
値:
TypeName(const TypeName&);                    \
  void operator=(const TypeName&)

globals.h421 行で定義されています。

#define DISALLOW_IMPLICIT_CONSTRUCTORS (   TypeName  ) 
値:
TypeName();                                    \
  DISALLOW_COPY_AND_ASSIGN(TypeName)

globals.h432 行で定義されています。

#define FUNCTION_ADDR (   f  )     (reinterpret_cast<v8::internal::Address>(reinterpret_cast<intptr_t>(f)))
#define HAS_FAILURE_TAG (   value  )     ((reinterpret_cast<int>(value) & kFailureTagMask) == kFailureTag)

globals.h371 行で定義されています。

#define HAS_HEAP_OBJECT_TAG (   value  )     ((reinterpret_cast<int>(value) & kHeapObjectTagMask) == kHeapObjectTag)

globals.h374 行で定義されています。

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

globals.h368 行で定義されています。

#define INLINE (   header  )     inline header

globals.h465 行で定義されています。

#define OBJECT_SIZE_ALIGN (   value  )     ((value + kObjectAlignmentMask) & ~kObjectAlignmentMask)
#define OFFSET_OF (   type,
  field 
)    (reinterpret_cast<intptr_t>(&(reinterpret_cast<type*>(4)->field)) - 4)

globals.h387 行で定義されています。

参照元 v8::internal::GlobalHandles::Node::FromLocation().

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

globals.h348 行で定義されています。

#define TRACK_MEMORY (   name  ) 

globals.h454 行で定義されています。

#define V8_GLOBALS_H_

globals.h62 行で定義されています。

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義