Lines Matching refs:lookup

215         // If there is a getter, return; otherwise loop to perform the lookup.
464 // Named lookup in the object.
484 // IC handling of private symbols/fields lookup on JSProxy is not
502 // Named lookup in the object.
615 // Check if current lookup object is an API object
807 void LoadIC::UpdateCaches(LookupIterator* lookup) {
809 if (lookup->state() == LookupIterator::ACCESS_CHECK) {
811 } else if (!lookup->IsFound()) {
817 } else if (IsLoadGlobalIC() && lookup->state() == LookupIterator::JSPROXY) {
824 if (lookup->TryLookupCachedProperty()) {
825 DCHECK_EQ(LookupIterator::DATA, lookup->state());
827 if (lookup->state() == LookupIterator::DATA &&
828 lookup->GetReceiver().is_identical_to(lookup->GetHolder<Object>())) {
829 DCHECK(lookup->GetReceiver()->IsJSGlobalObject());
831 nexus()->ConfigurePropertyCellMode(lookup->GetPropertyCell());
832 TraceIC("LoadGlobalIC", lookup->name());
836 handler = ComputeHandler(lookup);
838 // Can't use {lookup->name()} because the LookupIterator might be in
841 SetCache(lookup->GetName(), handler);
842 TraceIC("LoadIC", lookup->GetName());
898 LookupIterator* lookup) {
904 DCHECK_EQ(0, lookup->property_details().field_index());
905 DCHECK_EQ(*isolate->factory()->length_string(), *lookup->name());
910 int field_index = lookup->property_details().field_index();
931 Handle<Object> LoadIC::ComputeHandler(LookupIterator* lookup) {
932 Handle<Object> receiver = lookup->GetReceiver();
935 Handle<Object> lookup_start_object = lookup->lookup_start_object();
939 if (!IsAnyHas() && !lookup->IsElement()) {
941 *lookup->name() == roots.length_string()) {
947 *lookup->name() == roots.length_string()) {
954 *lookup->name() == roots.prototype_string() &&
964 lookup_start_object.is_identical_to(lookup->GetHolder<JSReceiver>());
966 switch (lookup->state()) {
968 Handle<JSObject> holder = lookup->GetHolder<JSObject>();
993 Handle<JSObject> holder = lookup->GetHolder<JSObject>();
996 // lookup start object maps.
998 if (Accessors::IsJSObjectFieldAccessor(isolate(), map, lookup->name(),
1008 exports->FindEntry(isolate(), roots, lookup->name(),
1009 Smi::ToInt(lookup->name()->GetHash()));
1022 Handle<Object> accessors = lookup->GetAccessors();
1026 if (lookup->TryLookupCachedProperty(accessor_pair)) {
1027 DCHECK_EQ(LookupIterator::DATA, lookup->state());
1028 return ComputeHandler(lookup);
1079 LoadHandler::LoadAccessor(isolate(), lookup->GetAccessorIndex());
1089 MaybeObjectHandle::Weak(lookup->GetPropertyCell()));
1119 isolate(), lookup->GetAccessorIndex());
1129 Handle<JSReceiver> holder = lookup->GetHolder<JSReceiver>();
1130 DCHECK_EQ(PropertyKind::kData, lookup->property_details().kind());
1132 if (lookup->is_dictionary_holder()) {
1140 MaybeObjectHandle::Weak(lookup->GetPropertyCell()));
1146 } else if (lookup->IsElement(*holder)) {
1159 lookup->property_details().location());
1163 MakeLoadWasmStructFieldHandler(isolate(), holder, lookup);
1168 FieldIndex field = lookup->GetFieldIndex();
1175 if (lookup->constness() == PropertyConstness::kConst &&
1178 !lookup->is_dictionary_holder());
1180 Handle<Object> value = lookup->GetDataValue();
1214 Handle<JSProxy> holder_proxy = lookup->GetHolder<JSProxy>();
1320 // For JSTypedArray we never lookup elements in the prototype chain.
1759 // TODO(joyee): this will start the lookup again. Ideally we should
1913 void StoreIC::UpdateCaches(LookupIterator* lookup, Handle<Object> value,
1916 if (LookupForWrite(lookup, value, store_origin)) {
1918 if (lookup->state() == LookupIterator::DATA &&
1919 lookup->GetReceiver().is_identical_to(lookup->GetHolder<Object>())) {
1920 DCHECK(lookup->GetReceiver()->IsJSGlobalObject());
1922 nexus()->ConfigurePropertyCellMode(lookup->GetPropertyCell());
1923 TraceIC("StoreGlobalIC", lookup->GetName());
1927 handler = ComputeHandler(lookup);
1932 // Can't use {lookup->name()} because the LookupIterator might be in
1935 SetCache(lookup->GetName(), handler);
1936 TraceIC("StoreIC", lookup->GetName());
1939 MaybeObjectHandle StoreIC::ComputeHandler(LookupIterator* lookup) {
1940 switch (lookup->state()) {
1942 Handle<JSObject> store_target = lookup->GetStoreTarget<JSObject>();
1949 Handle<JSObject> holder = lookup->GetHolder<JSObject>();
1950 DCHECK_EQ(*lookup->GetReceiver(), *holder);
1953 return StoreHandler::StoreGlobal(lookup->transition_cell());
1966 MaybeObjectHandle::Weak(lookup->transition_cell()));
1970 DCHECK_IMPLIES(!lookup->transition_map()->is_dictionary_map(),
1973 DCHECK(lookup->IsCacheableTransition());
1976 lookup->transition_map());
1978 return StoreHandler::StoreTransition(isolate(), lookup->transition_map());
1982 Handle<JSObject> holder = lookup->GetHolder<JSObject>();
1986 if (lookup->HolderIsReceiverOrHiddenPrototype() && !info.non_masking()) {
2011 Handle<JSObject> receiver = Handle<JSObject>::cast(lookup->GetReceiver());
2012 Handle<JSObject> holder = lookup->GetHolder<JSObject>();
2013 DCHECK(!receiver->IsAccessCheckNeeded() || lookup->name()->IsPrivate());
2022 Handle<Object> accessors = lookup->GetAccessors();
2031 !lookup->HolderIsReceiverOrHiddenPrototype()) {
2044 isolate(), lookup->GetAccessorIndex());
2102 StoreHandler::StoreAccessor(isolate(), lookup->GetAccessorIndex());
2119 Handle<JSObject> receiver = Handle<JSObject>::cast(lookup->GetReceiver());
2121 Handle<JSObject> holder = lookup->GetHolder<JSObject>();
2122 DCHECK(!receiver->IsAccessCheckNeeded() || lookup->name()->IsPrivate());
2124 DCHECK_EQ(PropertyKind::kData, lookup->property_details().kind());
2125 if (lookup->is_dictionary_holder()) {
2129 StoreHandler::StoreGlobal(lookup->GetPropertyCell()));
2134 lookup->constness() == PropertyConstness::kMutable);
2141 if (lookup->IsElement(*holder)) {
2147 if (lookup->property_details().location() == PropertyLocation::kField) {
2149 int descriptor = lookup->GetFieldDescriptorIndex();
2150 FieldIndex index = lookup->GetFieldIndex();
2153 isolate(), descriptor, index, lookup->representation()));
2155 PropertyConstness constness = lookup->constness();
2164 isolate(), descriptor, index, constness, lookup->representation()));
2169 lookup->property_details().location());
2176 Handle<JSReceiver>::cast(lookup->GetReceiver());
2177 Handle<JSProxy> holder = lookup->GetHolder<JSProxy>();
3312 * lookup if interceptor failed.
3336 // Skip any lookup work until we hit the (possibly non-masking) interceptor.