Lines Matching refs:dictionary
25 #include "src/objects/dictionary.h"
74 #include "src/objects/swiss-name-dictionary-inl.h"
891 // global object's dictionary.
892 Handle<GlobalDictionary> dictionary(
895 Handle<PropertyCell> cell(dictionary->CellAt(entry), isolate);
898 GlobalDictionary::DeleteEntry(isolate, dictionary, entry);
905 Handle<SwissNameDictionary> dictionary(
908 dictionary = SwissNameDictionary::DeleteEntry(isolate, dictionary, entry);
909 object->SetProperties(*dictionary);
911 Handle<NameDictionary> dictionary(object->property_dictionary(), isolate);
913 dictionary = NameDictionary::DeleteEntry(isolate, dictionary, entry);
914 object->SetProperties(*dictionary);
2662 Handle<GlobalDictionary> dictionary(
2665 InternalIndex entry = dictionary->FindEntry(isolate, roots, name, hash);
2674 dictionary =
2675 GlobalDictionary::Add(isolate, dictionary, name, cell, details);
2676 global_obj->set_global_dictionary(*dictionary, kReleaseStore);
2678 PropertyCell::PrepareForAndSetValue(isolate, dictionary, entry, value,
2680 DCHECK_EQ(dictionary->CellAt(entry).value(), *value);
2684 Handle<SwissNameDictionary> dictionary(
2686 InternalIndex entry = dictionary->FindEntry(isolate, *name);
2690 dictionary =
2691 SwissNameDictionary::Add(isolate, dictionary, name, value, details);
2692 object->SetProperties(*dictionary);
2694 dictionary->ValueAtPut(entry, *value);
2695 dictionary->DetailsAtPut(entry, details);
2698 Handle<NameDictionary> dictionary(object->property_dictionary(), isolate);
2699 InternalIndex entry = dictionary->FindEntry(isolate, name);
2703 dictionary =
2704 NameDictionary::Add(isolate, dictionary, name, value, details);
2705 object->SetProperties(*dictionary);
2707 PropertyDetails original_details = dictionary->DetailsAt(entry);
2711 dictionary->SetEntry(entry, *name, *value, details);
2724 Handle<NumberDictionary> dictionary =
2726 dictionary =
2727 NumberDictionary::Set(isolate, dictionary, index, value, object, details);
2728 object->set_elements(*dictionary);
3212 Handle<NameDictionary> dictionary;
3217 dictionary = isolate->factory()->NewNameDictionary(property_count);
3253 dictionary = NameDictionary::Add(isolate, dictionary, key, value, d);
3259 dictionary->set_next_enumeration_index(real_size + 1);
3285 object->SetProperties(*dictionary);
3681 Handle<NameDictionary> dictionary;
3688 dictionary = handle(object->property_dictionary(), isolate);
3689 number_of_elements = dictionary->NumberOfElements();
3692 // Make sure we preserve dictionary representation if there are too many
3702 iteration_order = NameDictionary::IterationIndices(isolate, dictionary);
3703 iteration_length = dictionary->NumberOfElements();
3722 DCHECK(dictionary->IsKey(roots, dictionary->KeyAt(isolate, index)));
3723 kind = dictionary->DetailsAt(index).kind();
3738 // old bit because turning a map into dictionary always sets this bit.
3799 k = dictionary->NameAt(index);
3801 value = dictionary->ValueAt(index);
3802 details = dictionary->DetailsAt(index);
3827 // once all prototypes stay in dictionary mode and we are not interested
3878 void JSObject::RequireSlowElements(NumberDictionary dictionary) {
3879 DCHECK_NE(dictionary,
3881 if (dictionary.requires_slow_elements()) return;
3882 dictionary.set_requires_slow_elements();
3912 Handle<NumberDictionary> dictionary =
3915 // Switch to using the dictionary as the backing storage for elements.
3927 .set_arguments(*dictionary);
3929 object->set_elements(*dictionary);
3945 return dictionary;
4141 Handle<NumberDictionary> dictionary = NormalizeElements(object);
4145 if (*dictionary != ReadOnlyRoots(isolate).empty_slow_element_dictionary()) {
4146 object->RequireSlowElements(*dictionary);
4190 Isolate* isolate, ReadOnlyRoots roots, Handle<Dictionary> dictionary,
4192 for (InternalIndex i : dictionary->IterateEntries()) {
4194 if (!dictionary->ToKey(roots, i, &k)) continue;
4196 PropertyDetails details = dictionary->DetailsAt(i);
4200 Object v = dictionary->ValueAt(i);
4204 dictionary->DetailsAtPut(i, details);
4209 Isolate* isolate, ReadOnlyRoots roots, Handle<NumberDictionary> dictionary,
4316 // Make sure we only use this element dictionary in case we can't transition
4367 Handle<GlobalDictionary> dictionary(
4370 JSObject::ApplyAttributesToDictionary(isolate, roots, dictionary,
4373 Handle<SwissNameDictionary> dictionary(
4375 JSObject::ApplyAttributesToDictionary(isolate, roots, dictionary,
4378 Handle<NameDictionary> dictionary(object->property_dictionary(),
4380 JSObject::ApplyAttributesToDictionary(isolate, roots, dictionary,
4411 Handle<NumberDictionary> dictionary(object->element_dictionary(), isolate);
4413 object->RequireSlowElements(*dictionary);
4416 dictionary, attrs);
4900 // We may inline accesses to constants stored in dictionary mode protoypes in
5101 NumberDictionary dictionary,
5106 if (dictionary.requires_slow_elements()) return false;
5118 *new_capacity = dictionary.max_number_key() + 1;
5122 uint32_t dictionary_size = static_cast<uint32_t>(dictionary.Capacity()) *
5125 // Turn fast if the dictionary only saves 50% space.
5140 NumberDictionary dictionary = object.element_dictionary();
5142 for (InternalIndex i : dictionary.IterateEntries()) {
5143 Object key = dictionary.KeyAt(i);
5145 Object value = dictionary.ValueAt(i);
5386 auto dictionary = handle(global->global_dictionary(kAcquireLoad), isolate);
5387 InternalIndex entry = dictionary->FindEntry(isolate, name);
5390 Handle<PropertyCell> cell(dictionary->CellAt(entry), isolate);
5394 PropertyCell::InvalidateAndReplaceEntry(isolate, dictionary, entry, details,