Lines Matching refs:descriptor
84 #include "src/property-descriptor.h"
1913 std::unique_ptr<v8::PropertyDescriptor> descriptor(
1916 descriptor.reset(new v8::PropertyDescriptor(
1920 descriptor.reset(new v8::PropertyDescriptor(
1923 descriptor.reset(
1928 descriptor->set_enumerable(desc.enumerable());
1931 descriptor->set_configurable(desc.configurable());
1935 result = !args.CallIndexedDefiner(interceptor, it->index(), *descriptor)
1939 !args.CallNamedDefiner(interceptor, it->name(), *descriptor).is_null();
2172 // Directly decode from the descriptor array if |from| did not change shape.
3946 // Ensure the descriptor array does not get too big.
3967 Descriptor d = Descriptor::DataField(name, index, attributes, constness,
3979 // Ensure the descriptor array does not get too big.
3991 Descriptor d =
3992 Descriptor::DataConstant(isolate, name, 0, constant, attributes);
4414 // Copy the next enumeration index from instance descriptor.
4503 descriptor pointer of the
4588 Descriptor d = Descriptor::DataField(
4637 // proper sharing of descriptor arrays.
4640 // Don't overwrite the empty descriptor array or initial map's descriptors.
4667 // in the descriptor array.
4677 Map* Map::FindFieldOwner(Isolate* isolate, int descriptor) const {
4679 DCHECK_EQ(kField, instance_descriptors()->GetDetails(descriptor).location());
4685 if (parent->NumberOfOwnDescriptors() <= descriptor) break;
4691 void Map::UpdateFieldType(Isolate* isolate, int descriptor, Handle<Name> name,
4698 PropertyDetails details = instance_descriptors()->GetDetails(descriptor);
4717 PropertyDetails details = descriptors->GetDetails(descriptor);
4727 // Skip if already updated the shared descriptor.
4729 descriptors->GetFieldType(descriptor) != *new_wrapped_type.object()) {
4732 Descriptor d = Descriptor::DataField(
4733 name, descriptors->GetFieldIndex(descriptor), details.attributes(),
4735 descriptors->Replace(descriptor, &d);
5412 // The descriptors are still the same, so keep the layout descriptor.
5421 // that the maps to which we push the new descriptor array back can rely
5504 // Check if a descriptor with this name already exists before writing.
6462 // Compute the length of the instance descriptor.
6512 // Allocate the instance descriptor.
6531 // Fill in the instance descriptor and the fields.
6552 Descriptor d;
6555 d = Descriptor::DataConstant(key, handle(value, isolate),
6564 d = Descriptor::DataField(
6572 d = Descriptor::AccessorConstant(key, handle(value, isolate),
7222 // 2d. Else Desc must be an accessor Property Descriptor,
7879 if (interceptor->descriptor()->IsUndefined(isolate)) return Just(false);
7900 // descriptor.
7905 "Invalid property descriptor.");
7943 // 3. Let D be a newly created Property Descriptor with no fields.
8719 // Create a new descriptor array with the appropriate property attributes
8996 // Directly decode from the descriptor array if |from| did not change shape.
9072 PropertyDescriptor descriptor;
9074 isolate, object, key, &descriptor);
9076 if (!did_get_descriptor.FromJust() || !descriptor.enumerable()) continue;
9430 // Initial maps must always own their descriptors and it's descriptor array
9485 Descriptor* descriptor) {
9486 // Sanity check. This path is only to be taken if the map owns its descriptor
9488 // descriptors in the descriptor array.
9493 Handle<Name> name = descriptor->GetKey();
9500 // Ensure there's space for the new descriptor in the shared descriptor array.
9515 descriptor->GetDetails())
9520 descriptors->Append(descriptor);
9612 // starting from descriptor with index |split_map|.NumberOfOwnDescriptors().
9625 // This is necessary to guarantee that GC will mark the whole descriptor
9628 // descriptor could unnecessarily be in slow mode but we will fix after
9795 // copying the map; creating a new descriptor array cell.
9873 bool CanHoldValue(DescriptorArray* descriptors, int descriptor,
9875 PropertyDetails details = descriptors->GetDetails(descriptor);
9880 descriptors->GetFieldType(descriptor)->NowContains(value);
9891 DCHECK(descriptors->GetStrongValue(descriptor) != value ||
9893 return descriptors->GetStrongValue(descriptor) == value;
9903 int descriptor,
9906 if (CanHoldValue(map->instance_descriptors(), descriptor, constness,
9912 map->instance_descriptors()->GetDetails(descriptor).attributes();
9917 return mu.ReconfigureToDataField(descriptor, attributes, constness,
9925 int descriptor,
9931 return UpdateDescriptorForValue(isolate, Update(isolate, map), descriptor,
9957 int descriptor = transition->LastAdded();
9960 ->GetDetails(descriptor)
9963 return UpdateDescriptorForValue(isolate, transition, descriptor, constness,
10026 int descriptor, PropertyKind kind,
10035 descriptor, kind, attributes,
10040 map->PrintReconfiguration(isolate, stdout, descriptor, kind, attributes);
10046 descriptor, attributes, kDefaultFieldConstness, Representation::None(),
10052 Handle<Name> name, int descriptor,
10081 int descriptor = transition->LastAdded();
10082 DCHECK(descriptors->GetKey(descriptor)->Equals(*name));
10084 DCHECK_EQ(kAccessor, descriptors->GetDetails(descriptor).kind());
10085 DCHECK_EQ(attributes, descriptors->GetDetails(descriptor).attributes());
10087 Handle<Object> maybe_pair(descriptors->GetStrongValue(descriptor), isolate);
10104 if (descriptor != DescriptorArray::kNotFound) {
10105 if (descriptor != map->LastAdded()) {
10108 PropertyDetails old_details = old_descriptors->GetDetails(descriptor);
10118 Handle<Object> maybe_pair(old_descriptors->GetStrongValue(descriptor),
10155 Descriptor d = Descriptor::AccessorConstant(name, pair, attributes);
10160 Descriptor* descriptor,
10168 return ShareDescriptor(isolate, map, descriptors, descriptor);
10174 new_descriptors->Append(descriptor);
10183 descriptor->GetKey(), "CopyAddDescriptor", SIMPLE_PROPERTY_TRANSITION);
10187 Descriptor* descriptor,
10193 old_descriptors->SearchWithCache(isolate, *descriptor->GetKey(), *map);
10195 return CopyReplaceDescriptor(isolate, map, old_descriptors, descriptor,
10198 return CopyAddDescriptor(isolate, map, descriptor, flag);
10252 // Create a new descriptor array with only enumerable, configurable, writeable
10310 Descriptor* descriptor,
10313 Handle<Name> key = descriptor->GetKey();
10317 DCHECK_NE(kField, descriptor->GetDetails().location());
10323 new_descriptors->Replace(insertion_index, descriptor);
10723 void DescriptorArray::Replace(int index, Descriptor* descriptor) {
10724 descriptor->SetSortedKeyIndex(GetSortedKeyIndex(index));
10725 Set(index, descriptor);
10750 // Reset sorting since the descriptor array might contain invalid pointers.
15993 // configurable, it's guaranteed to be the first in the descriptor array.