#include <objects.h>
v8::internal::DictionaryBaseを継承しています。
Public メソッド | |
Object * | ValueAt (int entry) |
void | ValueAtPut (int entry, Object *value) |
PropertyDetails | DetailsAt (int entry) |
void | DetailsAtPut (int entry, PropertyDetails value) |
void | RemoveNumberEntries (uint32_t from, uint32_t to) |
Object * | RemoveHoles () |
void | CopyValuesTo (FixedArray *elements) |
int | FindStringEntry (String *key) |
int | FindNumberEntry (uint32_t index) |
Object * | DeleteProperty (int entry) |
Object * | AtStringPut (String *key, Object *value) |
Object * | AtNumberPut (uint32_t key, Object *value) |
Object * | AddStringEntry (String *key, Object *value, PropertyDetails details) |
Object * | AddNumberEntry (uint32_t key, Object *value, PropertyDetails details) |
Object * | SetOrAddStringEntry (String *key, Object *value, PropertyDetails details) |
int | NumberOfElementsFilterAttributes (PropertyAttributes filter) |
int | NumberOfEnumElements () |
void | CopyKeysTo (FixedArray *storage, PropertyAttributes filter) |
void | CopyEnumKeysTo (FixedArray *storage, FixedArray *sort_array) |
void | CopyKeysTo (FixedArray *storage) |
Object * | TransformPropertiesToFastFor (JSObject *obj, int unused_property_fields) |
bool | requires_slow_elements () |
uint32_t | max_number_key () |
void | SetNextEnumerationIndex (int index) |
int | NextEnumerationIndex () |
Object * | EnsureCapacity (int n, HashTableKey *key) |
Object * | SlowReverseLookup (Object *value) |
Static Public メソッド | |
static Dictionary * | cast (Object *obj) |
static Object * | Allocate (int at_least_space_for) |
Static Public 変数 | |
static const int | kRequiresSlowElementsMask = 1 |
static const int | kRequiresSlowElementsTagSize = 1 |
static const uint32_t | kRequiresSlowElementsLimit = (1 << 29) - 1 |
Private メソッド | |
Object * | AtPut (HashTableKey *key, Object *value) |
Object * | Add (HashTableKey *key, Object *value, PropertyDetails details) |
void | AddEntry (Object *key, Object *value, PropertyDetails details, uint32_t hash) |
void | SetEntry (int entry, Object *key, Object *value, PropertyDetails details) |
void | UpdateMaxNumberKey (uint32_t key) |
Object * | GenerateNewEnumerationIndices () |
DISALLOW_IMPLICIT_CONSTRUCTORS (Dictionary) | |
Static Private 変数 | |
static const int | kMaxNumberKeyIndex = kPrefixStartIndex |
static const int | kNextEnumerationIndexIndex = kMaxNumberKeyIndex + 1 |
Object * v8::internal::Dictionary::Add | ( | HashTableKey * | key, | |
Object * | value, | |||
PropertyDetails | details | |||
) | [private] |
objects.cc の 6261 行で定義されています。
参照先 AddEntry(), cast(), EnsureCapacity(), v8::internal::HashTableKey::GetObject(), と v8::internal::HashTableKey::Hash().
参照元 AddNumberEntry(), と AddStringEntry().
void v8::internal::Dictionary::AddEntry | ( | Object * | key, | |
Object * | value, | |||
PropertyDetails | details, | |||
uint32_t | hash | |||
) | [private] |
Object * v8::internal::Dictionary::AddNumberEntry | ( | uint32_t | key, | |
Object * | value, | |||
PropertyDetails | details | |||
) |
objects.cc の 6325 行で定義されています。
参照先 Add(), v8::internal::HashTable< 2, 3 >::FindEntry(), SLOW_ASSERT, と UpdateMaxNumberKey().
参照元 v8::internal::JSObject::NormalizeElements(), と RemoveHoles().
Object * v8::internal::Dictionary::Allocate | ( | int | at_least_space_for | ) | [static] |
objects.cc の 6341 行で定義されています。
参照先 AtPut(), と UpdateMaxNumberKey().
Object * v8::internal::Dictionary::AtPut | ( | HashTableKey * | key, | |
Object * | value | |||
) | [private] |
objects.cc の 6335 行で定義されています。
参照先 AtPut().
static Dictionary* v8::internal::Dictionary::cast | ( | Object * | obj | ) | [inline, static] |
v8::internal::HashTable< 2, 3 >を再定義しています。
参照元 Add(), v8::internal::JSObject::AddSlowProperty(), Allocate(), AtPut(), v8::internal::Heap::CreateInitialObjects(), v8::internal::JSObject::DefineGetterSetter(), GenerateNewEnumerationIndices(), max_number_key(), NextEnumerationIndex(), v8::internal::ProbeCache(), v8::internal::JSArray::RemoveHoles(), RemoveHoles(), v8::internal::JSObject::ReplaceSlowProperty(), requires_slow_elements(), v8::internal::Runtime_EstimateNumberOfElements(), と TransformPropertiesToFastFor().
void v8::internal::Dictionary::CopyEnumKeysTo | ( | FixedArray * | storage, | |
FixedArray * | sort_array | |||
) |
objects.cc の 6398 行で定義されています。
参照先 ASSERT, v8::internal::HashTable< 2, 3 >::Capacity(), DetailsAt(), v8::internal::Smi::FromInt(), v8::internal::HashTable< 2, 3 >::IsKey(), v8::internal::HashTable< 2, 3 >::KeyAt(), v8::internal::Array::length(), NumberOfEnumElements(), v8::internal::FixedArray::set(), v8::internal::SKIP_WRITE_BARRIER, と v8::internal::FixedArray::SortPairs().
void v8::internal::Dictionary::CopyKeysTo | ( | FixedArray * | storage, | |
PropertyAttributes | filter | |||
) |
objects.cc の 6383 行で定義されています。
参照先 ASSERT, v8::internal::HashTable< 2, 3 >::Capacity(), DetailsAt(), v8::internal::HashTable< 2, 3 >::IsKey(), v8::internal::HashTable< 2, 3 >::KeyAt(), v8::internal::Array::length(), NumberOfEnumElements(), と v8::internal::FixedArray::set().
参照元 v8::internal::JSObject::GetLocalElementKeys(), と v8::internal::JSObject::GetLocalPropertyNames().
void v8::internal::Dictionary::CopyKeysTo | ( | FixedArray * | storage | ) |
void v8::internal::Dictionary::CopyValuesTo | ( | FixedArray * | elements | ) |
Object * v8::internal::Dictionary::DeleteProperty | ( | int | entry | ) |
objects.cc の 6220 行で定義されています。
参照先 DetailsAt(), v8::internal::HashTable< 2, 3 >::ElementRemoved(), v8::internal::Smi::FromInt(), と SetEntry().
参照元 v8::internal::JSObject::DeleteElement(), v8::internal::JSObject::DeleteElementPostInterceptor(), v8::internal::JSObject::DeleteProperty(), と v8::internal::JSObject::DeletePropertyPostInterceptor().
PropertyDetails v8::internal::Dictionary::DetailsAt | ( | int | entry | ) | [inline] |
参照先 v8::internal::Smi::cast(), と v8::internal::HashTable< 2, 3 >::EntryToIndex().
参照元 CopyEnumKeysTo(), CopyKeysTo(), DeleteProperty(), v8::internal::BASE_EMBEDDED< Allocator >::DictionaryResult(), GenerateNewEnumerationIndices(), NumberOfElementsFilterAttributes(), RemoveHoles(), v8::internal::JSObject::ReplaceSlowProperty(), v8::internal::Runtime_KeyedGetProperty(), SetOrAddStringEntry(), と TransformPropertiesToFastFor().
void v8::internal::Dictionary::DetailsAtPut | ( | int | entry, | |
PropertyDetails | value | |||
) | [inline] |
v8::internal::Dictionary::DISALLOW_IMPLICIT_CONSTRUCTORS | ( | Dictionary | ) | [private] |
Object * v8::internal::Dictionary::EnsureCapacity | ( | int | n, | |
HashTableKey * | key | |||
) |
v8::internal::HashTable< 2, 3 >を再定義しています。
objects.cc の 6185 行で定義されています。
参照先 GenerateNewEnumerationIndices(), v8::internal::HashTableKey::IsStringKey(), と NextEnumerationIndex().
int v8::internal::Dictionary::FindNumberEntry | ( | uint32_t | index | ) |
objects.cc の 6235 行で定義されています。
参照先 v8::internal::HashTable< 2, 3 >::FindEntry().
参照元 v8::internal::JSObject::DeleteElement(), v8::internal::JSObject::DeleteElementPostInterceptor(), v8::internal::JSObject::GetElementPostInterceptor(), v8::internal::JSObject::GetElementWithReceiver(), v8::internal::GetProbeValue(), v8::internal::JSObject::HasElementPostInterceptor(), v8::internal::JSObject::HasElementWithReceiver(), v8::internal::JSObject::HasLocalElement(), と v8::internal::JSObject::HasRealElementProperty().
int v8::internal::Dictionary::FindStringEntry | ( | String * | key | ) |
objects.cc の 6229 行で定義されています。
参照先 v8::internal::HashTable< 2, 3 >::FindEntry().
参照元 v8::internal::JSObject::DeleteProperty(), v8::internal::JSObject::DeletePropertyPostInterceptor(), v8::internal::JSObject::LocalLookupRealNamedProperty(), v8::internal::JSObject::ReplaceSlowProperty(), と v8::internal::Runtime_KeyedGetProperty().
Object * v8::internal::Dictionary::GenerateNewEnumerationIndices | ( | ) | [private] |
objects.cc の 6127 行で定義されています。
参照先 v8::internal::Heap::AllocateFixedArray(), v8::internal::HashTable< 2, 3 >::Capacity(), cast(), DetailsAt(), DetailsAtPut(), v8::internal::Smi::FromInt(), v8::internal::FixedArray::get(), v8::internal::HashTable< 2, 3 >::IsKey(), v8::internal::HashTable< 2, 3 >::KeyAt(), v8::internal::Array::length(), v8::internal::HashTable< 2, 3 >::NumberOfElements(), v8::internal::FixedArray::set(), SetNextEnumerationIndex(), v8::internal::SKIP_WRITE_BARRIER, と v8::internal::FixedArray::SortPairs().
uint32_t v8::internal::Dictionary::max_number_key | ( | ) | [inline] |
int v8::internal::Dictionary::NextEnumerationIndex | ( | ) | [inline] |
int v8::internal::Dictionary::NumberOfElementsFilterAttributes | ( | PropertyAttributes | filter | ) |
objects.cc の 6363 行で定義されています。
参照先 v8::internal::HashTable< 2, 3 >::Capacity(), DetailsAt(), v8::internal::HashTable< 2, 3 >::IsKey(), と v8::internal::HashTable< 2, 3 >::KeyAt().
参照元 CopyKeysTo(), v8::internal::JSObject::GetLocalElementKeys(), NumberOfEnumElements(), と v8::internal::JSObject::NumberOfLocalProperties().
int v8::internal::Dictionary::NumberOfEnumElements | ( | ) |
objects.cc の 6377 行で定義されています。
参照先 DONT_ENUM, と NumberOfElementsFilterAttributes().
参照元 CopyEnumKeysTo(), と CopyKeysTo().
Object * v8::internal::Dictionary::RemoveHoles | ( | ) |
void v8::internal::Dictionary::RemoveNumberEntries | ( | uint32_t | from, | |
uint32_t | to | |||
) |
objects.cc の 6197 行で定義されています。
参照先 v8::internal::HashTable< 2, 3 >::Capacity(), v8::internal::Smi::FromInt(), v8::Value::IsNumber(), v8::internal::HashTable< 2, 3 >::KeyAt(), v8::internal::HashTable< 2, 3 >::NumberOfElements(), SetEntry(), と v8::internal::HashTable< 2, 3 >::SetNumberOfElements().
参照元 v8::internal::JSObject::SetElementsLength(), と v8::internal::JSObject::SetSlowElements().
bool v8::internal::Dictionary::requires_slow_elements | ( | ) | [inline] |
objects-inl.h の 1196 行で定義されています。
参照先 cast(), kMaxNumberKeyIndex, と kRequiresSlowElementsMask.
参照元 max_number_key(), v8::internal::JSObject::ShouldConvertToFastElements(), と UpdateMaxNumberKey().
void v8::internal::Dictionary::SetNextEnumerationIndex | ( | int | index | ) | [inline] |
Object * v8::internal::Dictionary::TransformPropertiesToFastFor | ( | JSObject * | obj, | |
int | unused_property_fields | |||
) |
objects.cc の 6448 行で定義されています。
参照先 Allocate(), v8::internal::Heap::AllocateFixedArray(), ASSERT, v8::internal::CALLBACKS, v8::internal::HashTable< 2, 3 >::Capacity(), v8::internal::FixedArray::cast(), v8::internal::Map::cast(), v8::internal::JSFunction::cast(), v8::internal::String::cast(), cast(), v8::internal::Map::Copy(), DetailsAt(), v8::internal::FIELD, GenerateNewEnumerationIndices(), v8::internal::JSObject::HasFastProperties(), v8::internal::HashTable< 2, 3 >::IsKey(), v8::internal::HashTable< 2, 3 >::KeyAt(), v8::internal::DescriptorArray::kMaxNumberOfDescriptors, v8::internal::Heap::LookupSymbol(), v8::internal::HeapObject::map(), NextEnumerationIndex(), v8::internal::NORMAL, v8::internal::HashTable< 2, 3 >::NumberOfElements(), v8::internal::FixedArray::set(), v8::internal::HeapObject::set_map(), v8::internal::Map::set_unused_property_fields(), v8::internal::DescriptorArray::SetNextEnumerationIndex(), v8::internal::DescriptorArray::Sort(), UNREACHABLE, ValueAt(), と v8::internal::DescriptorWriter::Write().
void v8::internal::Dictionary::UpdateMaxNumberKey | ( | uint32_t | key | ) | [private] |
Object* v8::internal::Dictionary::ValueAt | ( | int | entry | ) | [inline] |
参照先 v8::internal::HashTable< 2, 3 >::EntryToIndex().
参照元 CopyValuesTo(), v8::internal::DebugLookupResultValue(), v8::internal::JSObject::GetElementPostInterceptor(), v8::internal::JSObject::GetElementWithReceiver(), v8::internal::GetProbeValue(), RemoveHoles(), v8::internal::Runtime_InitializeConstContextSlot(), v8::internal::Runtime_InitializeConstGlobal(), v8::internal::Runtime_KeyedGetProperty(), v8::internal::JSObject::SetFastElements(), SlowReverseLookup(), と TransformPropertiesToFastFor().
void v8::internal::Dictionary::ValueAtPut | ( | int | entry, | |
Object * | value | |||
) | [inline] |
const int v8::internal::Dictionary::kMaxNumberKeyIndex = kPrefixStartIndex [static, private] |
const int v8::internal::Dictionary::kNextEnumerationIndexIndex = kMaxNumberKeyIndex + 1 [static, private] |
const uint32_t v8::internal::Dictionary::kRequiresSlowElementsLimit = (1 << 29) - 1 [static] |
参照元 UpdateMaxNumberKey().
const int v8::internal::Dictionary::kRequiresSlowElementsMask = 1 [static] |
const int v8::internal::Dictionary::kRequiresSlowElementsTagSize = 1 [static] |
参照元 max_number_key(), と UpdateMaxNumberKey().