構成 | Public メソッド | Static Public メソッド | Static Public 変数 | Static Protected メソッド | Private メソッド

クラス v8::internal::String

#include <objects.h>

v8::internal::HeapObjectを継承しています。

v8::internal::ConsString, v8::internal::ExternalString, v8::internal::SeqString, と v8::internal::SlicedStringに継承されています。

すべてのメンバ一覧

構成

class  ReadBlockBuffer

Public メソッド

int length ()
void set_length (int value)
uint32_t length_field ()
void set_length_field (uint32_t value)
void Set (int index, uint16_t value)
uint16_t Get (int index)
ObjectFlatten ()
void TryFlatten ()
bool IsAsciiRepresentation ()
bool IsSeqAsciiString ()
bool StringIsSlicedString ()
bool StringIsConsString ()
Vector< const char > ToAsciiVector ()
Vector< const uc16ToUC16Vector ()
bool MarkAsUndetectable ()
ObjectSlice (int from, int to)
bool Equals (String *other)
bool IsEqualTo (Vector< const char > str)
SmartPointer< char > ToCString (AllowNullsFlag allow_nulls, RobustnessFlag robustness_flag, int offset, int length, int *length_output=0)
SmartPointer< char > ToCString (AllowNullsFlag allow_nulls=DISALLOW_NULLS, RobustnessFlag robustness_flag=FAST_STRING_TRAVERSAL, int *length_output=0)
int Utf8Length ()
SmartPointer< uc16ToWideCString (RobustnessFlag robustness_flag=FAST_STRING_TRAVERSAL)
bool HasHashCode ()
uint32_t Hash ()
bool AsArrayIndex (uint32_t *index)
void PrintOn (FILE *out)
uint32_t size_tag ()
bool is_symbol ()
bool is_ascii_representation ()
StringRepresentationTag representation_tag ()
int full_representation_tag ()
bool LooksValid ()
void StringShortPrint (StringStream *accumulator)
bool IsFlat ()
const uc16GetTwoByteData ()
const uc16GetTwoByteData (unsigned start)

Static Public メソッド

static uint32_t ComputeLengthAndHashField (unibrow::CharacterStream *buffer, int length)
static bool ComputeArrayIndex (unibrow::CharacterStream *buffer, uint32_t *index, int length)
static Stringcast (Object *obj)
static uint32_t map_size_tag (Map *map)
static bool is_symbol_map (Map *map)
static bool is_ascii_representation_map (Map *map)
static StringRepresentationTag map_representation_tag (Map *map)
static const unibrow::byteReadBlock (String *input, unibrow::byte *util_buffer, unsigned capacity, unsigned *remaining, unsigned *offset)
static const unibrow::byteReadBlock (String **input, unibrow::byte *util_buffer, unsigned capacity, unsigned *remaining, unsigned *offset)
template<typename sinkchar >
static void WriteToFlat (String *source, sinkchar *sink, int from, int to)

Static Public 変数

static const int kLengthOffset = HeapObject::kHeaderSize
static const int kSize = kLengthOffset + kIntSize
static const int kMaxShortStringSize = 63
static const int kMaxMediumStringSize = 16383
static const int kMaxArrayIndexSize = 10
static const int kMaxAsciiCharCode = unibrow::Utf8::kMaxOneByteChar
static const int kMinNonFlatLength = 13
static const int kHashComputedMask = 1
static const int kIsArrayIndexMask = 1 << 1
static const int kNofLengthBitFields = 2
static const int kMaxCachedArrayIndexLength = 7
static const int kHashShift = kNofLengthBitFields
static const int kShortLengthShift = kHashShift + kShortStringTag
static const int kMediumLengthShift = kHashShift + kMediumStringTag
static const int kLongLengthShift = kHashShift + kLongStringTag
static const int kMaxShortPrintLength = 1024

Static Protected メソッド

static const unibrow::byteReadBlock (String *input, ReadBlockBuffer *buffer, unsigned *offset, unsigned max_chars)
static void ReadBlockIntoBuffer (String *input, ReadBlockBuffer *buffer, unsigned *offset_ptr, unsigned max_chars)

Private メソッド

bool SlowEquals (String *other)
bool SlowAsArrayIndex (uint32_t *index)
uint32_t ComputeAndSetHash ()
 DISALLOW_IMPLICIT_CONSTRUCTORS (String)

説明

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


関数

bool v8::internal::String::AsArrayIndex ( uint32_t *  index  )  [inline]
static String* v8::internal::String::cast ( Object obj  )  [inline, static]

v8::internal::HeapObjectを再定義しています。

v8::internal::SeqString, v8::internal::SeqAsciiString, v8::internal::SeqTwoByteString, v8::internal::ConsString, v8::internal::SlicedString, v8::internal::ExternalString, v8::internal::ExternalAsciiString, と v8::internal::ExternalTwoByteStringで再定義されています。

参照元 v8::internal::Heap::AllocateRawAsciiString(), v8::internal::Heap::AllocateRawTwoByteString(), v8::internal::Heap::AllocateStringFromTwoByte(), v8::internal::Heap::AllocateStringFromUtf8(), v8::internal::Heap::AllocateSubString(), v8::internal::Heap::AllocateSymbol(), v8::internal::Logger::ApiNamedPropertyAccess(), v8::internal::Logger::ApiNamedSecurityCheck(), v8::internal::RegExpImpl::AtomExec(), v8::internal::RegExpImpl::AtomExecGlobal(), v8::internal::RegExpImpl::CachedStringToTwoByte(), v8::internal::Compiler::CompileLazy(), v8::internal::ConsString::ConsStringGet(), v8::internal::ConvertCase(), v8::internal::Factory::CopyAppendCallbackDescriptors(), v8::internal::Heap::CreateInitialObjects(), v8::internal::Map::FindInCodeCache(), Flatten(), Get(), v8::internal::Runtime::GetElementOrCharAt(), v8::internal::Heap::GetNumberStringCache(), v8::internal::SymbolKey::GetObject(), v8::internal::SharedFunctionInfo::GetSourceCode(), GetTwoByteData(), v8::internal::HasKey(), v8::internal::HasOrigin(), v8::internal::Oddball::Initialize(), IsFlat(), v8::internal::MapNameKey::IsMatch(), v8::internal::SymbolKey::IsMatch(), v8::internal::Utf8SymbolKey::IsMatch(), v8::internal::RegExpKey::IsMatch(), v8::internal::StringKey::IsMatch(), v8::internal::IsShortcutCandidate(), v8::internal::BASE_EMBEDDED< Allocator >::KeyToSymbol(), v8::internal::LoadIC::Load(), v8::internal::CodeGenerator::LoadReference(), v8::internal::Heap::LookupSingleCharacterStringFromCode(), v8::internal::CodeGenerator::MakeCode(), v8::internal::MakeFunction(), v8::internal::MapNameKey::MapNameHash(), v8::internal::StringStream::PrintName(), v8::internal::StringStream::PrintObject(), v8::internal::PrintObject(), v8::internal::StringStream::PrintPrototype(), v8::internal::StringStream::PrintUsingMap(), v8::internal::ObjectLiteral::Property::Property(), ReadBlock(), ReadBlockIntoBuffer(), v8::internal::RegExpKey::RegExpObjectHash(), v8::internal::Runtime_CreateObjectLiteralBoilerplate(), v8::internal::Runtime_DebugEvaluate(), v8::internal::Runtime_DeclareContextSlot(), v8::internal::Runtime_DeclareGlobals(), v8::internal::Runtime_GetScriptFromScriptName(), v8::internal::Runtime_HasLocalProperty(), v8::internal::Runtime_InitializeConstContextSlot(), v8::internal::Runtime_KeyedGetProperty(), v8::internal::Runtime_NumberToString(), v8::internal::Runtime_StringBuilderConcat(), v8::internal::Runtime_StringFromCharCodeArray(), v8::internal::Runtime_URIEscape(), v8::internal::Runtime_URIUnescape(), Set(), Slice(), SlowEquals(), v8::Value::StrictEquals(), v8::internal::StringBuilderConcatHelper(), v8::internal::Accessors::StringGetLength(), v8::internal::SymbolKey::StringHash(), v8::internal::Utf8SymbolKey::StringHash(), v8::internal::StringKey::StringHash(), v8::internal::RegExpImpl::StringToTwoByte(), v8::internal::SymbolsKey::SymbolsHash(), ToAsciiVector(), ToUC16Vector(), v8::internal::Dictionary::TransformPropertiesToFastFor(), v8::internal::Map::UpdateCodeCache(), と WriteToFlat().

uint32_t v8::internal::String::ComputeAndSetHash (  )  [private]

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

参照先 ASSERT, ComputeLengthAndHashField(), kHashComputedMask, kHashShift, length(), length_field(), と set_length_field().

参照元 Hash().

bool v8::internal::String::ComputeArrayIndex ( unibrow::CharacterStream buffer,
uint32_t *  index,
int  length 
) [static]
uint32_t v8::internal::String::ComputeLengthAndHashField ( unibrow::CharacterStream buffer,
int  length 
) [static]
v8::internal::String::DISALLOW_IMPLICIT_CONSTRUCTORS ( String   )  [private]
bool v8::internal::String::Equals ( String other  )  [inline]
Object * v8::internal::String::Flatten (  ) 
int v8::internal::String::full_representation_tag (  )  [inline]
uint16_t v8::internal::String::Get ( int  index  )  [inline]
const uc16 * v8::internal::String::GetTwoByteData (  ) 

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

参照元 v8::internal::DoCompile(), と GetTwoByteData().

const uc16 * v8::internal::String::GetTwoByteData ( unsigned  start  ) 
uint32_t v8::internal::String::Hash (  )  [inline]
bool v8::internal::String::HasHashCode (  )  [inline]

objects-inl.h2185 行で定義されています。

参照先 kHashComputedMask, と length_field().

参照元 v8::internal::StubCache::PrimaryOffset(), と SlowEquals().

bool v8::internal::String::is_ascii_representation (  )  [inline]
bool v8::internal::String::is_ascii_representation_map ( Map map  )  [inline, static]
bool v8::internal::String::is_symbol (  )  [inline]
bool v8::internal::String::is_symbol_map ( Map map  )  [inline, static]

objects-inl.h1382 行で定義されています。

参照先 v8::internal::Map::instance_type(), と v8::internal::kIsSymbolMask.

参照元 is_symbol().

bool v8::internal::String::IsAsciiRepresentation (  )  [inline]
bool v8::internal::String::IsEqualTo ( Vector< const char >  str  ) 
bool v8::internal::String::IsFlat (  )  [inline]
bool v8::internal::String::IsSeqAsciiString (  )  [inline]

objects-inl.h129 行で定義されています。

参照先 v8::internal::kSeqStringTag.

参照元 SlowEquals().

int v8::internal::String::length (  )  [inline]

objects-inl.h1276 行で定義されています。

参照先 ASSERT, kLengthOffset, kLongLengthShift, v8::internal::kLongStringTag, kMediumLengthShift, v8::internal::kMediumStringTag, kShortLengthShift, v8::internal::kShortStringTag, READ_INT_FIELD, と size_tag().

参照元 v8::internal::Heap::AllocateConsString(), v8::internal::AnWord(), v8::internal::CharCodeAt(), ComputeAndSetHash(), v8::internal::ConsString::ConsStringGet(), v8::internal::ConsString::ConsStringReadBlock(), v8::internal::ConsString::ConsStringReadBlockIntoBuffer(), v8::internal::DoCompile(), v8::internal::ExternalAsciiString::ExternalAsciiStringGet(), v8::internal::ExternalTwoByteString::ExternalTwoByteStringGet(), Flatten(), Get(), v8::internal::GetCString(), v8::internal::GetLength(), v8::internal::JSObject::GetLocalElementKeys(), v8::internal::SymbolKey::GetObject(), GetTwoByteData(), IsEqualTo(), IsFlat(), v8::internal::JSObject::JSObjectShortPrint(), v8::internal::LoadIC::Load(), v8::internal::StringStream::PrintName(), v8::internal::StringStream::PrintObject(), PrintOn(), v8::internal::StringStream::PrintPrototype(), v8::internal::PrintString(), v8::internal::StringStream::PrintUsingMap(), v8::internal::StringStream::Put(), ReadBlock(), ReadBlockIntoBuffer(), v8::internal::Runtime_HasLocalProperty(), v8::internal::Runtime_StringBuilderConcat(), v8::internal::SeqAsciiString::SeqAsciiStringGet(), v8::internal::SeqAsciiString::SeqAsciiStringSet(), v8::internal::SeqAsciiString::SeqAsciiStringSize(), v8::internal::SeqTwoByteString::SeqTwoByteStringGet(), v8::internal::SeqTwoByteString::SeqTwoByteStringSet(), v8::internal::SeqTwoByteString::SeqTwoByteStringSize(), Set(), Slice(), v8::internal::SlicedString::SlicedStringGet(), v8::internal::SlicedString::SlicedStringReadBlock(), v8::internal::SlicedString::SlicedStringReadBlockIntoBuffer(), SlowAsArrayIndex(), SlowEquals(), v8::internal::Accessors::StringGetLength(), StringShortPrint(), v8::internal::SubStringEquals(), ToAsciiVector(), ToUC16Vector(), ToWideCString(), Utf8Length(), と WriteToFlat().

uint32_t v8::internal::String::length_field (  )  [inline]
bool v8::internal::String::LooksValid (  ) 
StringRepresentationTag v8::internal::String::map_representation_tag ( Map map  )  [inline, static]
uint32_t v8::internal::String::map_size_tag ( Map map  )  [inline, static]
bool v8::internal::String::MarkAsUndetectable (  ) 

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

参照先 v8::internal::HeapObject::map(), と v8::internal::HeapObject::set_map().

void v8::internal::String::PrintOn ( FILE *  out  ) 

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

参照先 Get(), と length().

参照元 v8::internal::Logger::SuspectReadEvent().

const unibrow::byte * v8::internal::String::ReadBlock ( String **  input,
unibrow::byte util_buffer,
unsigned  capacity,
unsigned *  remaining,
unsigned *  offset 
) [static]
const unibrow::byte * v8::internal::String::ReadBlock ( String input,
unibrow::byte util_buffer,
unsigned  capacity,
unsigned *  remaining,
unsigned *  offset 
) [static]
const unibrow::byte * v8::internal::String::ReadBlock ( String input,
ReadBlockBuffer buffer,
unsigned *  offset,
unsigned  max_chars 
) [inline, static, protected]
void v8::internal::String::ReadBlockIntoBuffer ( String input,
ReadBlockBuffer buffer,
unsigned *  offset_ptr,
unsigned  max_chars 
) [static, protected]
StringRepresentationTag v8::internal::String::representation_tag (  )  [inline]
void v8::internal::String::Set ( int  index,
uint16_t  value 
) [inline]
void v8::internal::String::set_length ( int  value  )  [inline]
void v8::internal::String::set_length_field ( uint32_t  value  )  [inline]
uint32_t v8::internal::String::size_tag (  )  [inline]

objects-inl.h1367 行で定義されています。

参照先 v8::internal::HeapObject::map(), と map_size_tag().

参照元 length(), と set_length().

Object * v8::internal::String::Slice ( int  from,
int  to 
)
bool v8::internal::String::SlowAsArrayIndex ( uint32_t *  index  )  [private]
bool v8::internal::String::SlowEquals ( String other  )  [private]
bool v8::internal::String::StringIsConsString (  )  [inline]
bool v8::internal::String::StringIsSlicedString (  )  [inline]

objects-inl.h1362 行で定義されています。

参照先 representation_tag().

参照元 Slice(), と v8::internal::SlicedString::SlicedStringFlatten().

void v8::internal::String::StringShortPrint ( StringStream accumulator  ) 
Vector< const char > v8::internal::String::ToAsciiVector (  ) 
SmartPointer< char > v8::internal::String::ToCString ( AllowNullsFlag  allow_nulls = DISALLOW_NULLS,
RobustnessFlag  robustness_flag = FAST_STRING_TRAVERSAL,
int *  length_output = 0 
)

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

参照先 ToCString().

SmartPointer< char > v8::internal::String::ToCString ( AllowNullsFlag  allow_nulls,
RobustnessFlag  robustness_flag,
int  offset,
int  length,
int *  length_output = 0 
)
Vector< const uc16 > v8::internal::String::ToUC16Vector (  ) 
SmartPointer< uc16 > v8::internal::String::ToWideCString ( RobustnessFlag  robustness_flag = FAST_STRING_TRAVERSAL  ) 
void v8::internal::String::TryFlatten (  )  [inline]
int v8::internal::String::Utf8Length (  ) 
template<typename sinkchar >
void v8::internal::String::WriteToFlat ( String source,
sinkchar *  sink,
int  from,
int  to 
) [static]

変数

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

参照元 AsArrayIndex(), ComputeAndSetHash(), Hash(), HasHashCode(), と v8::internal::HashField().

const int v8::internal::String::kIsArrayIndexMask = 1 << 1 [static]

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

参照元 AsArrayIndex(), v8::internal::HashField(), と SlowAsArrayIndex().

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

参照元 ComputeArrayIndex().

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

参照元 SlowAsArrayIndex().

const int v8::internal::String::kMaxMediumStringSize = 16383 [static]
const int v8::internal::String::kMaxShortPrintLength = 1024 [static]

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

参照元 StringShortPrint().

const int v8::internal::String::kMinNonFlatLength = 13 [static]

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

v8::internal::ConsString, v8::internal::SlicedString, と v8::internal::ExternalStringで再定義されています。

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


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義