Lines Matching refs:holder
54 #define CHECK_IS_ON_PROTOTYPE_CHAIN(receiver, holder) \
55 if (UNLIKELY((receiver) != (holder))) { \
207 JSTaggedValue holder = receiver;
208 auto *hclass = holder.GetTaggedObject()->GetClass();
209 JSHandle<JSObject> currentHolder(thread, holder);
259 JSTaggedValue holder = receiver;
261 auto *hclass = holder.GetTaggedObject()->GetClass();
265 JSTaggedValue res = FastGetTypeArrayProperty(thread, receiver, holder, key, jsType);
277 return JSTaggedValue(EcmaStringAccessor(holder).GetLength());
281 holder = stringPrototype.GetTaggedValue();
290 ASSERT(!TaggedArray::Cast(JSObject::Cast(holder)->GetProperties().GetTaggedObject())->IsDictionaryMode());
297 auto value = JSObject::Cast(holder)->GetProperty(hclass, attr);
306 return CallGetter(thread, receiver, holder, value);
314 TaggedArray *array = TaggedArray::Cast(JSObject::Cast(holder)->GetProperties().GetTaggedObject());
329 return CallGetter(thread, receiver, holder, value);
338 holder = hclass->GetPrototype();
339 } while (holder.IsHeapObject());
414 JSTaggedValue holder = receiver;
417 auto *hclass = holder.GetTaggedObject()->GetClass();
421 JSTaggedValue res = FastSetTypeArrayProperty(thread, receiver, holder, key, value, jsType);
435 ASSERT(!TaggedArray::Cast(JSObject::Cast(holder)->GetProperties().GetTaggedObject())->IsDictionaryMode());
445 auto accessor = JSObject::Cast(holder)->GetProperty(hclass, attr);
446 if (ShouldCallSetter(receiver, holder, accessor, attr)) {
459 auto attrVal = JSObject::Cast(holder)->GetProperty(hclass, attr);
461 if (receiverHoleEntry == -1 && holder == receiver) {
467 holder = hclass->GetPrototype();
471 if (UNLIKELY(holder != receiver)) {
474 if (holder.IsJSShared() && (sCheckMode == SCheckMode::CHECK)) {
495 TaggedArray *properties = TaggedArray::Cast(JSObject::Cast(holder)->GetProperties().GetTaggedObject());
506 if (ShouldCallSetter(receiver, holder, accessor, attr)) {
518 if (UNLIKELY(holder != receiver)) {
521 if ((sCheckMode == SCheckMode::CHECK) && holder.IsJSShared()) {
534 holder = hclass->GetPrototype();
535 } while (holder.IsHeapObject());
576 JSTaggedValue holder = receiver;
578 auto *hclass = holder.GetTaggedObject()->GetClass();
585 return JSTypedArray::FastGetPropertyByIndex(thread, holder, index, jsType);
588 return GetContainerProperty(thread, holder, index, jsType);
591 if (index < EcmaStringAccessor(holder).GetLength()) {
593 JSHandle<EcmaString>(thread, holder), index, 1);
599 JSHandle<JSObject> currentHolder(thread, holder);
616 return CallGetter(thread, receiver, holder, value);
625 holder = JSObject::Cast(holder)->GetJSHClass()->GetPrototype();
626 } while (holder.IsHeapObject());
637 JSTaggedValue holder = receiver;
639 auto *hclass = holder.GetTaggedObject()->GetClass();
646 CHECK_IS_ON_PROTOTYPE_CHAIN(receiver, holder);
653 return SetContainerProperty(thread, holder, index, value, jsType);
657 JSHandle<JSObject> arrayHandler(thread, holder);
661 if (UNLIKELY(holder != receiver)) {
667 if (holder.IsJSCOWArray()) {
669 JSHandle<JSArray> holderHandler(thread, holder);
670 JSHandle<JSObject> obj(thread, holder);
690 if (UNLIKELY(holder != receiver)) {
698 if (ShouldCallSetter(receiver, holder, accessor, attr)) {
710 holder = JSObject::Cast(holder)->GetJSHClass()->GetPrototype();
711 } while (holder.IsHeapObject());
964 JSTaggedValue ObjectFastOperator::CallGetter(JSThread *thread, JSTaggedValue receiver, JSTaggedValue holder,
972 JSHandle<JSObject> objHandle(thread, holder);
994 bool ObjectFastOperator::ShouldCallSetter(JSTaggedValue receiver, JSTaggedValue holder, JSTaggedValue accessorValue,
1000 if (receiver != holder) {
1032 JSTaggedValue holder,
1035 CHECK_IS_ON_PROTOTYPE_CHAIN(receiver, holder);
1060 JSTaggedValue holder, JSTaggedValue key,
1063 CHECK_IS_ON_PROTOTYPE_CHAIN(receiver, holder);