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

src/objects.h

#include "builtins.h"
#include "code-stubs.h"
#include "smart-pointer.h"
#include "unicode-inl.h"

ソースコードを見る。

構成

class  v8::internal::BASE_EMBEDDED< Allocator >
class  v8::internal::BASE_EMBEDDED< Allocator >::TypeField
class  v8::internal::BASE_EMBEDDED< Allocator >::AttributesField
class  v8::internal::BASE_EMBEDDED< Allocator >::IndexField
struct  v8::internal::ValueInfo
class  v8::internal::BASE_EMBEDDED< Allocator >
class  v8::internal::Smi
class  v8::internal::Failure
class  v8::internal::BASE_EMBEDDED< Allocator >
class  v8::internal::HeapObject
class  v8::internal::HeapNumber
class  v8::internal::JSObject
class  v8::internal::Array
class  v8::internal::FixedArray
class  v8::internal::DescriptorArray
class  v8::internal::HashTableKey
class  v8::internal::HashTable< prefix_size, element_size >
class  v8::internal::SymbolTable
class  v8::internal::MapCache
class  v8::internal::LookupCache
class  v8::internal::DictionaryBase
class  v8::internal::Dictionary
class  v8::internal::ByteArray
class  v8::internal::Code
class  v8::internal::Map
class  v8::internal::Struct
class  v8::internal::Script
class  v8::internal::SharedFunctionInfo
class  v8::internal::JSFunction
class  v8::internal::JSGlobalProxy
class  v8::internal::GlobalObject
class  v8::internal::JSGlobalObject
class  v8::internal::JSBuiltinsObject
class  v8::internal::JSValue
class  v8::internal::JSRegExp
class  v8::internal::JSRegExp::Flags
class  v8::internal::CompilationCacheTable
class  v8::internal::StringHasher
class  v8::internal::String
class  v8::internal::String::ReadBlockBuffer
class  v8::internal::SeqString
class  v8::internal::SeqAsciiString
class  v8::internal::SeqTwoByteString
class  v8::internal::ConsString
class  v8::internal::SlicedString
class  v8::internal::ExternalString
class  v8::internal::ExternalAsciiString
class  v8::internal::ExternalTwoByteString
class  v8::internal::StringInputBuffer
class  v8::internal::SafeStringInputBuffer
class  v8::internal::VectorIterator< T >
class  v8::internal::Oddball
class  v8::internal::Proxy
class  v8::internal::JSArray
class  v8::internal::AccessorInfo
class  v8::internal::AccessorInfo::AttributesField
class  v8::internal::AccessCheckInfo
class  v8::internal::InterceptorInfo
class  v8::internal::CallHandlerInfo
class  v8::internal::TemplateInfo
class  v8::internal::FunctionTemplateInfo
class  v8::internal::ObjectTemplateInfo
class  v8::internal::SignatureInfo
class  v8::internal::TypeSwitchInfo
class  v8::internal::DebugInfo
class  v8::internal::BreakPointInfo
class  v8::internal::BASE_EMBEDDED< Allocator >
class  v8::internal::BooleanBit

ネームスペース

namespace  v8
namespace  v8::internal

マクロ定義

#define INSTANCE_TYPE_LIST(V)
#define STRING_TYPE_LIST(V)
#define STRUCT_LIST(V)
#define DECL_BOOLEAN_ACCESSORS(name)
#define DECL_ACCESSORS(name, type)
#define DECLARE_STRUCT_PREDICATE(NAME, Name, name)   inline bool Is##Name();

列挙型

enum  PropertyAttributes {
  NONE = v8::None, READ_ONLY = v8::ReadOnly, DONT_ENUM = v8::DontEnum, DONT_DELETE = v8::DontDelete,
  ABSENT = 16
}
enum  v8::internal::WriteBarrierMode { v8::internal::SKIP_WRITE_BARRIER, v8::internal::UPDATE_WRITE_BARRIER }
enum  v8::internal::StringRepresentationTag { v8::internal::kSeqStringTag = 0x0, v8::internal::kConsStringTag = 0x1, v8::internal::kSlicedStringTag = 0x2, v8::internal::kExternalStringTag = 0x3 }
enum  v8::internal::InstanceType {
  v8::internal::SHORT_SYMBOL_TYPE = kShortStringTag | kSymbolTag | kSeqStringTag, v8::internal::MEDIUM_SYMBOL_TYPE = kMediumStringTag | kSymbolTag | kSeqStringTag, v8::internal::LONG_SYMBOL_TYPE = kLongStringTag | kSymbolTag | kSeqStringTag, v8::internal::SHORT_ASCII_SYMBOL_TYPE,
  v8::internal::MEDIUM_ASCII_SYMBOL_TYPE, v8::internal::LONG_ASCII_SYMBOL_TYPE, v8::internal::SHORT_CONS_SYMBOL_TYPE = kShortStringTag | kSymbolTag | kConsStringTag, v8::internal::MEDIUM_CONS_SYMBOL_TYPE = kMediumStringTag | kSymbolTag | kConsStringTag,
  v8::internal::LONG_CONS_SYMBOL_TYPE = kLongStringTag | kSymbolTag | kConsStringTag, v8::internal::SHORT_CONS_ASCII_SYMBOL_TYPE, v8::internal::MEDIUM_CONS_ASCII_SYMBOL_TYPE, v8::internal::LONG_CONS_ASCII_SYMBOL_TYPE,
  v8::internal::SHORT_SLICED_SYMBOL_TYPE = kShortStringTag | kSymbolTag | kSlicedStringTag, v8::internal::MEDIUM_SLICED_SYMBOL_TYPE = kMediumStringTag | kSymbolTag | kSlicedStringTag, v8::internal::LONG_SLICED_SYMBOL_TYPE = kLongStringTag | kSymbolTag | kSlicedStringTag, v8::internal::SHORT_SLICED_ASCII_SYMBOL_TYPE,
  v8::internal::MEDIUM_SLICED_ASCII_SYMBOL_TYPE, v8::internal::LONG_SLICED_ASCII_SYMBOL_TYPE, v8::internal::SHORT_EXTERNAL_SYMBOL_TYPE, v8::internal::MEDIUM_EXTERNAL_SYMBOL_TYPE,
  v8::internal::LONG_EXTERNAL_SYMBOL_TYPE = kLongStringTag | kSymbolTag | kExternalStringTag, v8::internal::SHORT_EXTERNAL_ASCII_SYMBOL_TYPE, v8::internal::MEDIUM_EXTERNAL_ASCII_SYMBOL_TYPE, v8::internal::LONG_EXTERNAL_ASCII_SYMBOL_TYPE,
  v8::internal::SHORT_STRING_TYPE = kShortStringTag | kSeqStringTag, v8::internal::MEDIUM_STRING_TYPE = kMediumStringTag | kSeqStringTag, v8::internal::LONG_STRING_TYPE = kLongStringTag | kSeqStringTag, v8::internal::SHORT_ASCII_STRING_TYPE = kShortStringTag | kAsciiStringTag | kSeqStringTag,
  v8::internal::MEDIUM_ASCII_STRING_TYPE = kMediumStringTag | kAsciiStringTag | kSeqStringTag, v8::internal::LONG_ASCII_STRING_TYPE = kLongStringTag | kAsciiStringTag | kSeqStringTag, v8::internal::SHORT_CONS_STRING_TYPE = kShortStringTag | kConsStringTag, v8::internal::MEDIUM_CONS_STRING_TYPE = kMediumStringTag | kConsStringTag,
  v8::internal::LONG_CONS_STRING_TYPE = kLongStringTag | kConsStringTag, v8::internal::SHORT_CONS_ASCII_STRING_TYPE, v8::internal::MEDIUM_CONS_ASCII_STRING_TYPE, v8::internal::LONG_CONS_ASCII_STRING_TYPE,
  v8::internal::SHORT_SLICED_STRING_TYPE = kShortStringTag | kSlicedStringTag, v8::internal::MEDIUM_SLICED_STRING_TYPE = kMediumStringTag | kSlicedStringTag, v8::internal::LONG_SLICED_STRING_TYPE = kLongStringTag | kSlicedStringTag, v8::internal::SHORT_SLICED_ASCII_STRING_TYPE,
  v8::internal::MEDIUM_SLICED_ASCII_STRING_TYPE, v8::internal::LONG_SLICED_ASCII_STRING_TYPE, v8::internal::SHORT_EXTERNAL_STRING_TYPE = kShortStringTag | kExternalStringTag, v8::internal::MEDIUM_EXTERNAL_STRING_TYPE = kMediumStringTag | kExternalStringTag,
  v8::internal::LONG_EXTERNAL_STRING_TYPE = kLongStringTag | kExternalStringTag, v8::internal::SHORT_EXTERNAL_ASCII_STRING_TYPE, v8::internal::MEDIUM_EXTERNAL_ASCII_STRING_TYPE, v8::internal::LONG_EXTERNAL_ASCII_STRING_TYPE,
  v8::internal::LONG_PRIVATE_EXTERNAL_ASCII_STRING_TYPE = LONG_EXTERNAL_ASCII_STRING_TYPE, v8::internal::MAP_TYPE = kNotStringTag, v8::internal::HEAP_NUMBER_TYPE, v8::internal::FIXED_ARRAY_TYPE,
  v8::internal::CODE_TYPE, v8::internal::ODDBALL_TYPE, v8::internal::PROXY_TYPE, v8::internal::BYTE_ARRAY_TYPE,
  v8::internal::FILLER_TYPE, v8::internal::SMI_TYPE, v8::internal::ACCESSOR_INFO_TYPE, v8::internal::ACCESS_CHECK_INFO_TYPE,
  v8::internal::INTERCEPTOR_INFO_TYPE, v8::internal::SHARED_FUNCTION_INFO_TYPE, v8::internal::CALL_HANDLER_INFO_TYPE, v8::internal::FUNCTION_TEMPLATE_INFO_TYPE,
  v8::internal::OBJECT_TEMPLATE_INFO_TYPE, v8::internal::SIGNATURE_INFO_TYPE, v8::internal::TYPE_SWITCH_INFO_TYPE, v8::internal::DEBUG_INFO_TYPE,
  v8::internal::BREAK_POINT_INFO_TYPE, v8::internal::SCRIPT_TYPE, v8::internal::JS_VALUE_TYPE, v8::internal::JS_OBJECT_TYPE,
  v8::internal::JS_GLOBAL_OBJECT_TYPE, v8::internal::JS_BUILTINS_OBJECT_TYPE, v8::internal::JS_GLOBAL_PROXY_TYPE, v8::internal::JS_ARRAY_TYPE,
  v8::internal::JS_REGEXP_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::FIRST_NONSTRING_TYPE = MAP_TYPE, v8::internal::FIRST_TYPE = 0x0,
  v8::internal::INVALID_TYPE = FIRST_TYPE - 1, v8::internal::LAST_TYPE = JS_FUNCTION_TYPE, v8::internal::FIRST_JS_OBJECT_TYPE = JS_VALUE_TYPE, v8::internal::LAST_JS_OBJECT_TYPE = JS_REGEXP_TYPE
}
enum  v8::internal::CompareResult { v8::internal::LESS = -1, v8::internal::EQUAL = 0, v8::internal::GREATER = 1, v8::internal::NOT_EQUAL = GREATER }
enum  v8::internal::ScriptType { v8::internal::SCRIPT_TYPE_NATIVE, v8::internal::SCRIPT_TYPE_EXTENSION, v8::internal::SCRIPT_TYPE_NORMAL }
enum  v8::internal::AllowNullsFlag { v8::internal::ALLOW_NULLS, v8::internal::DISALLOW_NULLS }
enum  v8::internal::RobustnessFlag { v8::internal::ROBUST_STRING_TRAVERSAL, v8::internal::FAST_STRING_TRAVERSAL }

関数

template<class C >
static bool v8::internal::Is (Object *obj)

変数

const uint32_t v8::internal::kIsNotStringMask = 0x80
const uint32_t v8::internal::kStringTag = 0x0
const uint32_t v8::internal::kNotStringTag = 0x80
const uint32_t v8::internal::kIsSymbolMask = 0x20
const uint32_t v8::internal::kNotSymbolTag = 0x0
const uint32_t v8::internal::kSymbolTag = 0x20
const uint32_t v8::internal::kStringSizeMask = 0x18
const uint32_t v8::internal::kShortStringTag = 0x18
const uint32_t v8::internal::kMediumStringTag = 0x10
const uint32_t v8::internal::kLongStringTag = 0x00
const uint32_t v8::internal::kStringEncodingMask = 0x4
const uint32_t v8::internal::kTwoByteStringTag = 0x0
const uint32_t v8::internal::kAsciiStringTag = 0x4
const uint32_t v8::internal::kStringRepresentationMask = 0x03
const int v8::internal::kFailureTypeTagSize = 2
const int v8::internal::kFailureTypeTagMask = (1 << kFailureTypeTagSize) - 1

マクロ定義

#define DECL_ACCESSORS (   name,
  type 
)
値:
inline type* name();                \
  inline void set_##name(type* value, \
                         WriteBarrierMode mode = UPDATE_WRITE_BARRIER); \

objects.h563 行で定義されています。

#define DECL_BOOLEAN_ACCESSORS (   name  ) 
値:
inline bool name();                  \
  inline void set_##name(bool value);  \

objects.h558 行で定義されています。

#define DECLARE_STRUCT_PREDICATE (   NAME,
  Name,
  name 
)    inline bool Is##Name();

objects.h653 行で定義されています。

#define INSTANCE_TYPE_LIST (   V  ) 

objects.h196 行で定義されています。

参照元 v8::internal::NewSpace::Setup().

#define STRING_TYPE_LIST (   V  ) 

objects.h282 行で定義されています。

参照元 v8::internal::Heap::CreateInitialMaps().

#define STRUCT_LIST (   V  ) 
値:
V(ACCESSOR_INFO, AccessorInfo, accessor_info)                           \
  V(ACCESS_CHECK_INFO, AccessCheckInfo, access_check_info)                \
  V(INTERCEPTOR_INFO, InterceptorInfo, interceptor_info)                  \
  V(CALL_HANDLER_INFO, CallHandlerInfo, call_handler_info)                \
  V(FUNCTION_TEMPLATE_INFO, FunctionTemplateInfo, function_template_info) \
  V(OBJECT_TEMPLATE_INFO, ObjectTemplateInfo, object_template_info)       \
  V(SIGNATURE_INFO, SignatureInfo, signature_info)                        \
  V(TYPE_SWITCH_INFO, TypeSwitchInfo, type_switch_info)                   \
  V(DEBUG_INFO, DebugInfo, debug_info)                                    \
  V(BREAK_POINT_INFO, BreakPointInfo, break_point_info)                   \
  V(SCRIPT, Script, script)

objects.h377 行で定義されています。

参照元 v8::internal::Heap::AllocateStruct(), v8::internal::Heap::CreateInitialMaps(), v8::internal::HeapObject::HeapObjectShortPrint(), v8::internal::HeapObject::IterateBody(), と v8::internal::Heap::IterateStrongRoots().


列挙型

列挙型の値:
NONE 
READ_ONLY 
DONT_ENUM 
DONT_DELETE 
ABSENT 

objects.h100 行で定義されています。

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