#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) |
Object * | Flatten () |
void | TryFlatten () |
bool | IsAsciiRepresentation () |
bool | IsSeqAsciiString () |
bool | StringIsSlicedString () |
bool | StringIsConsString () |
Vector< const char > | ToAsciiVector () |
Vector< const uc16 > | ToUC16Vector () |
bool | MarkAsUndetectable () |
Object * | Slice (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< uc16 > | ToWideCString (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 uc16 * | GetTwoByteData () |
const uc16 * | GetTwoByteData (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 String * | cast (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::byte * | ReadBlock (String *input, unibrow::byte *util_buffer, unsigned capacity, unsigned *remaining, unsigned *offset) |
static const unibrow::byte * | ReadBlock (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::byte * | ReadBlock (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) |
bool v8::internal::String::AsArrayIndex | ( | uint32_t * | index | ) | [inline] |
objects-inl.h の 2259 行で定義されています。
参照先 kHashComputedMask, kIsArrayIndexMask, length_field(), と SlowAsArrayIndex().
参照元 v8::internal::JSObject::DefineGetterSetter(), v8::internal::JSObject::DeleteProperty(), v8::internal::JSObject::GetLocalPropertyAttribute(), v8::internal::JSObject::GetPropertyAttributeWithReceiver(), v8::internal::CodeGenerator::LoadReference(), と v8::internal::JSObject::LookupAccessor().
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.cc の 3893 行で定義されています。
参照先 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] |
objects.cc の 3910 行で定義されています。
参照先 unibrow::CharacterStream::GetNext(), unibrow::CharacterStream::has_more(), と kMaxArrayIndexSize.
参照元 SlowAsArrayIndex().
uint32_t v8::internal::String::ComputeLengthAndHashField | ( | unibrow::CharacterStream * | buffer, | |
int | length | |||
) | [static] |
objects.cc の 3983 行で定義されています。
参照先 v8::internal::StringHasher::AddCharacter(), v8::internal::StringHasher::AddCharacterNoIndex(), v8::internal::StringHasher::GetHashField(), unibrow::CharacterStream::GetNext(), unibrow::CharacterStream::has_more(), v8::internal::StringHasher::has_trivial_hash(), と v8::internal::StringHasher::is_array_index().
参照元 ComputeAndSetHash(), と v8::internal::Utf8SymbolKey::Hash().
v8::internal::String::DISALLOW_IMPLICIT_CONSTRUCTORS | ( | String | ) | [private] |
bool v8::internal::String::Equals | ( | String * | other | ) | [inline] |
objects-inl.h の 1269 行で定義されています。
参照元 v8::internal::DescriptorArray::BinarySearch(), v8::internal::DescriptorReader::Equals(), v8::internal::Map::FindInCodeCache(), v8::internal::HasKey(), v8::internal::HasOrigin(), v8::internal::MapNameKey::IsMatch(), v8::internal::SymbolKey::IsMatch(), v8::internal::RegExpKey::IsMatch(), v8::internal::StringKey::IsMatch(), v8::internal::DescriptorArray::LinearSearch(), v8::internal::JSObject::LocalLookup(), v8::internal::StringStream::PrintPrototype(), v8::internal::Runtime_GetScriptFromScriptName(), と v8::internal::Map::UpdateCodeCache().
Object * v8::internal::String::Flatten | ( | ) |
objects.cc の 496 行で定義されています。
参照先 v8::internal::Heap::AllocateRawAsciiString(), v8::internal::Heap::AllocateRawTwoByteString(), ASSERT, v8::internal::SlicedString::buffer(), v8::internal::ConsString::cast(), cast(), v8::internal::cs, v8::internal::ConsString::first(), v8::internal::Heap::InNewSpace(), IsAsciiRepresentation(), v8::internal::kConsStringTag, v8::internal::kSlicedStringTag, length(), v8::internal::NOT_TENURED, representation_tag(), v8::internal::ConsString::second(), v8::internal::SlicedString::set_buffer(), v8::internal::ConsString::set_first(), v8::internal::ConsString::set_second(), StringIsConsString(), と WriteToFlat().
参照元 v8::internal::SlicedString::SlicedStringFlatten(), と TryFlatten().
int v8::internal::String::full_representation_tag | ( | ) | [inline] |
uint16_t v8::internal::String::Get | ( | int | index | ) | [inline] |
objects-inl.h の 1318 行で定義されています。
参照先 ASSERT, cast(), is_ascii_representation(), v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, length(), representation_tag(), と UNREACHABLE.
参照元 v8::internal::Heap::AllocateSubString(), v8::internal::AnWord(), v8::internal::CharCodeAt(), v8::internal::ConsString::ConsStringGet(), v8::internal::GetChar(), v8::internal::GetCString(), IsEqualTo(), v8::internal::IsSpace(), PrintOn(), v8::internal::SlicedString::SlicedStringGet(), と v8::internal::Unescape().
const uc16 * v8::internal::String::GetTwoByteData | ( | ) |
objects.cc の 3057 行で定義されています。
const uc16 * v8::internal::String::GetTwoByteData | ( | unsigned | start | ) |
objects.cc の 3062 行で定義されています。
参照先 ASSERT, v8::internal::SlicedString::buffer(), cast(), v8::internal::ConsString::first(), GetTwoByteData(), IsAsciiRepresentation(), v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, length(), v8::internal::NULL, representation_tag(), v8::internal::ConsString::second(), v8::internal::SlicedString::start(), StringIsConsString(), と UNREACHABLE.
uint32_t v8::internal::String::Hash | ( | ) | [inline] |
objects-inl.h の 2190 行で定義されています。
参照先 ComputeAndSetHash(), kHashComputedMask, kHashShift, と length_field().
参照元 v8::internal::DescriptorArray::BinarySearch(), v8::internal::DescriptorArray::CopyInsert(), v8::internal::SymbolKey::Hash(), v8::internal::MapNameKey::MapNameHashHelper(), SlowAsArrayIndex(), SlowEquals(), v8::internal::DescriptorArray::Sort(), v8::internal::SymbolKey::StringHash(), v8::internal::Utf8SymbolKey::StringHash(), と v8::internal::StringKey::StringHash().
bool v8::internal::String::HasHashCode | ( | ) | [inline] |
objects-inl.h の 2185 行で定義されています。
参照先 kHashComputedMask, と length_field().
参照元 v8::internal::StubCache::PrimaryOffset(), と SlowEquals().
bool v8::internal::String::is_ascii_representation | ( | ) | [inline] |
objects-inl.h の 1387 行で定義されています。
参照先 is_ascii_representation_map(), と v8::internal::HeapObject::map().
参照元 v8::internal::Heap::AllocateConsString(), v8::internal::Heap::AllocateSlicedString(), v8::internal::Heap::AllocateSubString(), Get(), IsAsciiRepresentation(), ReadBlock(), ReadBlockIntoBuffer(), Set(), と Utf8Length().
bool v8::internal::String::is_ascii_representation_map | ( | Map * | map | ) | [inline, static] |
objects-inl.h の 1392 行で定義されています。
参照先 v8::internal::Map::instance_type(), と v8::internal::kStringEncodingMask.
bool v8::internal::String::is_symbol | ( | ) | [inline] |
objects-inl.h の 1377 行で定義されています。
bool v8::internal::String::is_symbol_map | ( | Map * | map | ) | [inline, static] |
objects-inl.h の 1382 行で定義されています。
参照先 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] |
objects-inl.h の 1414 行で定義されています。
参照先 v8::internal::SlicedString::cast(), v8::internal::ConsString::cast(), cast(), v8::internal::kConsStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, length(), と representation_tag().
参照元 v8::internal::Heap::AllocateConsString(), v8::internal::CompareStringContentsPartial(), SlowEquals(), ToAsciiVector(), と ToUC16Vector().
bool v8::internal::String::IsSeqAsciiString | ( | ) | [inline] |
int v8::internal::String::length | ( | ) | [inline] |
objects-inl.h の 1276 行で定義されています。
参照先 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 | ( | ) |
objects.cc の 2904 行で定義されています。
参照先 v8::internal::Heap::Contains(), v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, と representation_tag().
参照元 v8::internal::SharedFunctionInfo::SourceCodePrint(), StringShortPrint(), ToCString(), と ToWideCString().
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.cc の 3852 行で定義されています。
参照先 v8::internal::HeapObject::map(), と v8::internal::HeapObject::set_map().
void v8::internal::String::PrintOn | ( | FILE * | out | ) |
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] |
objects.cc の 3347 行で定義されています。
参照先 ASSERT, cast(), is_ascii_representation(), v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, length(), v8::internal::NULL, v8::internal::String::ReadBlockBuffer::remaining, representation_tag(), v8::internal::SeqAsciiString::SeqAsciiStringReadBlock(), v8::internal::SeqTwoByteString::SeqTwoByteStringReadBlockIntoBuffer(), UNREACHABLE, と v8::internal::String::ReadBlockBuffer::util_buffer.
void v8::internal::String::ReadBlockIntoBuffer | ( | String * | input, | |
ReadBlockBuffer * | buffer, | |||
unsigned * | offset_ptr, | |||
unsigned | max_chars | |||
) | [static, protected] |
objects.cc の 3414 行で定義されています。
参照先 ASSERT, cast(), is_ascii_representation(), v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, length(), representation_tag(), と UNREACHABLE.
参照元 v8::internal::ConsString::ConsStringReadBlockIntoBuffer(), ReadBlock(), と v8::internal::SlicedString::SlicedStringReadBlockIntoBuffer().
StringRepresentationTag v8::internal::String::representation_tag | ( | ) | [inline] |
objects-inl.h の 1403 行で定義されています。
参照先 v8::internal::HeapObject::map(), と map_representation_tag().
参照元 Flatten(), Get(), GetTwoByteData(), IsFlat(), LooksValid(), ReadBlock(), ReadBlockIntoBuffer(), Slice(), StringIsConsString(), StringIsSlicedString(), ToAsciiVector(), ToUC16Vector(), と TryFlatten().
void v8::internal::String::Set | ( | int | index, | |
uint16_t | value | |||
) | [inline] |
objects-inl.h の 1342 行で定義されています。
参照先 ASSERT, cast(), is_ascii_representation(), と length().
参照元 v8::internal::Heap::AllocateStringFromTwoByte(), v8::internal::Heap::AllocateStringFromUtf8(), v8::internal::Heap::AllocateSubString(), v8::internal::Heap::AllocateSymbol(), v8::internal::ConvertCase(), v8::internal::Heap::LookupSingleCharacterStringFromCode(), v8::internal::Runtime_StringFromCharCodeArray(), v8::internal::Runtime_URIEscape(), と v8::internal::Runtime_URIUnescape().
void v8::internal::String::set_length | ( | int | value | ) | [inline] |
objects-inl.h の 1287 行で定義されています。
参照先 ASSERT, kLengthOffset, kLongLengthShift, v8::internal::kLongStringTag, kMediumLengthShift, v8::internal::kMediumStringTag, kShortLengthShift, v8::internal::kShortStringTag, size_tag(), と WRITE_INT_FIELD.
参照元 v8::internal::Heap::AllocateConsString(), v8::internal::Heap::AllocateExternalStringFromAscii(), v8::internal::Heap::AllocateExternalStringFromTwoByte(), v8::internal::Heap::AllocateRawAsciiString(), v8::internal::Heap::AllocateRawTwoByteString(), と v8::internal::Heap::AllocateSlicedString().
void v8::internal::String::set_length_field | ( | uint32_t | value | ) | [inline] |
objects-inl.h の 1303 行で定義されています。
参照先 kLengthOffset, と WRITE_UINT32_FIELD.
参照元 v8::internal::Heap::AllocateSubString(), v8::internal::Heap::AllocateSymbol(), と ComputeAndSetHash().
uint32_t v8::internal::String::size_tag | ( | ) | [inline] |
objects-inl.h の 1367 行で定義されています。
参照先 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] |
objects.cc の 3940 行で定義されています。
参照先 ComputeArrayIndex(), Hash(), kIsArrayIndexMask, kLongLengthShift, kMaxCachedArrayIndexLength, kShortLengthShift, length(), と length_field().
参照元 AsArrayIndex().
bool v8::internal::String::SlowEquals | ( | String * | other | ) | [private] |
objects.cc の 3792 行で定義されています。
参照先 cast(), v8::internal::CompareRawStringContents(), v8::internal::CompareStringContents(), v8::internal::CompareStringContentsPartial(), Hash(), HasHashCode(), v8::internal::ib, IsAsciiRepresentation(), IsFlat(), IsSeqAsciiString(), length(), unibrow::InputBuffer< Reader, Input, kSize >::Reset(), v8::internal::string_compare_buffer_a, v8::internal::string_compare_buffer_b, ToAsciiVector(), と ToUC16Vector().
bool v8::internal::String::StringIsConsString | ( | ) | [inline] |
bool v8::internal::String::StringIsSlicedString | ( | ) | [inline] |
objects-inl.h の 1362 行で定義されています。
参照先 representation_tag().
参照元 Slice(), と v8::internal::SlicedString::SlicedStringFlatten().
void v8::internal::String::StringShortPrint | ( | StringStream * | accumulator | ) |
Vector< const char > v8::internal::String::ToAsciiVector | ( | ) |
objects.cc の 2935 行で定義されています。
参照先 ASSERT, v8::internal::SlicedString::buffer(), cast(), v8::internal::ConsString::first(), v8::internal::SeqAsciiString::GetChars(), IsAsciiRepresentation(), IsFlat(), v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, length(), representation_tag(), v8::internal::ExternalAsciiString::resource(), v8::internal::ConsString::second(), と v8::internal::SlicedString::start().
参照元 v8::internal::CompareStringContentsPartial(), と SlowEquals().
SmartPointer< char > v8::internal::String::ToCString | ( | AllowNullsFlag | allow_nulls = DISALLOW_NULLS , |
|
RobustnessFlag | robustness_flag = FAST_STRING_TRAVERSAL , |
|||
int * | length_output = 0 | |||
) |
objects.cc の 3050 行で定義されています。
参照先 ToCString().
SmartPointer< char > v8::internal::String::ToCString | ( | AllowNullsFlag | allow_nulls, | |
RobustnessFlag | robustness_flag, | |||
int | offset, | |||
int | length, | |||
int * | length_output = 0 | |||
) |
objects.cc の 2997 行で定義されています。
参照先 v8::internal::NativeAllocationChecker::allocation_allowed(), ASSERT, v8::internal::DISALLOW_NULLS, unibrow::Utf8::Encode(), v8::internal::kMaxInt, unibrow::Utf8::Length(), LooksValid(), v8::internal::NULL, v8::internal::ROBUST_STRING_TRAVERSAL, と v8::internal::string_input_buffer.
参照元 v8::internal::Logger::ApiIndexedPropertyAccess(), v8::internal::Logger::ApiNamedPropertyAccess(), v8::internal::Logger::ApiNamedSecurityCheck(), v8::internal::Logger::ApiObjectAccess(), v8::internal::Logger::CodeCreateEvent(), v8::internal::PrintString(), と ToCString().
objects.cc の 2966 行で定義されています。
参照先 ASSERT, v8::internal::SlicedString::buffer(), cast(), v8::internal::ConsString::first(), v8::internal::SeqTwoByteString::GetChars(), IsFlat(), v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, length(), representation_tag(), v8::internal::ExternalTwoByteString::resource(), v8::internal::ConsString::second(), と v8::internal::SlicedString::start().
参照元 v8::internal::CompareStringContentsPartial(), と SlowEquals().
SmartPointer< uc16 > v8::internal::String::ToWideCString | ( | RobustnessFlag | robustness_flag = FAST_STRING_TRAVERSAL |
) |
void v8::internal::String::TryFlatten | ( | ) | [inline] |
objects-inl.h の 1308 行で定義されています。
参照先 Flatten(), v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, と representation_tag().
参照元 v8::internal::Heap::AllocateSubString(), v8::internal::CharCodeAt(), v8::internal::JSObject::DefineGetterSetter(), v8::internal::SymbolKey::GetObject(), Slice(), と Utf8Length().
int v8::internal::String::Utf8Length | ( | ) |
objects.cc の 2919 行で定義されています。
参照先 is_ascii_representation(), unibrow::Utf8::Length(), length(), v8::internal::string_input_buffer, と TryFlatten().
void v8::internal::String::WriteToFlat | ( | String * | source, | |
sinkchar * | sink, | |||
int | from, | |||
int | to | |||
) | [static] |
objects.cc の 3622 行で定義されています。
参照先 ASSERT, v8::internal::SlicedString::buffer(), v8::internal::SeqTwoByteString::cast(), v8::internal::SeqAsciiString::cast(), cast(), v8::internal::ExternalAsciiString::cast(), v8::internal::CopyChars(), v8::internal::ConsString::first(), full_representation_tag(), v8::internal::kAsciiStringTag, v8::internal::kConsStringTag, v8::internal::kExternalStringTag, v8::internal::kSeqStringTag, v8::internal::kSlicedStringTag, v8::internal::kTwoByteStringTag, length(), v8::internal::ConsString::second(), と v8::internal::SlicedString::start().
参照元 v8::internal::Heap::AllocateConsString(), Flatten(), と v8::internal::StringBuilderConcatHelper().
const int v8::internal::String::kHashComputedMask = 1 [static] |
const int v8::internal::String::kHashShift = kNofLengthBitFields [static] |
const int v8::internal::String::kIsArrayIndexMask = 1 << 1 [static] |
const int v8::internal::String::kLengthOffset = HeapObject::kHeaderSize [static] |
参照元 v8::internal::ToBooleanStub::Generate(), v8::internal::GenerateDictionaryLoad(), v8::internal::StubCache::GenerateProbe(), v8::internal::LoadIC::GenerateStringLength(), length(), length_field(), v8::internal::SeqAsciiString::SeqAsciiStringSize(), v8::internal::SeqTwoByteString::SeqTwoByteStringSize(), set_length(), と set_length_field().
const int v8::internal::String::kLongLengthShift = kHashShift + kLongStringTag [static] |
const int v8::internal::String::kMaxArrayIndexSize = 10 [static] |
参照元 ComputeArrayIndex().
const int v8::internal::String::kMaxAsciiCharCode = unibrow::Utf8::kMaxOneByteChar [static] |
参照元 v8::internal::Heap::AllocateStringFromTwoByte(), v8::internal::Heap::AllocateStringFromUtf8(), v8::internal::BoyerMoorePopulateBadCharTable(), v8::internal::CharOccurence(), v8::internal::Heap::CreateInitialObjects(), v8::internal::ExternalTwoByteString::ExternalTwoByteStringReadBlockIntoBuffer(), v8::internal::Heap::LookupSingleCharacterStringFromCode(), v8::internal::Runtime_StringFromCharCodeArray(), v8::internal::Runtime_URIUnescape(), v8::internal::SeqAsciiString::SeqAsciiStringSet(), v8::internal::SeqTwoByteString::SeqTwoByteStringReadBlockIntoBuffer(), v8::internal::SingleCharIndexOf(), と v8::internal::StringMatchStrategy().
const int v8::internal::String::kMaxCachedArrayIndexLength = 7 [static] |
参照元 SlowAsArrayIndex().
const int v8::internal::String::kMaxMediumStringSize = 16383 [static] |
参照元 v8::internal::Heap::AllocateConsString(), v8::internal::Heap::AllocateExternalStringFromAscii(), v8::internal::Heap::AllocateExternalStringFromTwoByte(), v8::internal::Heap::AllocateRawAsciiString(), v8::internal::Heap::AllocateRawTwoByteString(), v8::internal::Heap::AllocateSlicedString(), v8::internal::Heap::AllocateSymbol(), v8::internal::StringHasher::GetHashField(), v8::internal::StringHasher::has_trivial_hash(), v8::internal::StringStream::PrintObject(), と StringShortPrint().
const int v8::internal::String::kMaxShortPrintLength = 1024 [static] |
参照元 StringShortPrint().
const int v8::internal::String::kMaxShortStringSize = 63 [static] |
参照元 v8::internal::Heap::AllocateConsString(), v8::internal::Heap::AllocateExternalStringFromAscii(), v8::internal::Heap::AllocateExternalStringFromTwoByte(), v8::internal::Heap::AllocateRawAsciiString(), v8::internal::Heap::AllocateRawTwoByteString(), v8::internal::Heap::AllocateSlicedString(), v8::internal::Heap::AllocateSymbol(), と v8::internal::StringHasher::GetHashField().
const int v8::internal::String::kMediumLengthShift = kHashShift + kMediumStringTag [static] |
const int v8::internal::String::kMinNonFlatLength = 13 [static] |
const int v8::internal::String::kNofLengthBitFields = 2 [static] |
const int v8::internal::String::kShortLengthShift = kHashShift + kShortStringTag [static] |
const int v8::internal::String::kSize = kLengthOffset + kIntSize [static] |