Lines Matching refs:receiver
87 ARK_INLINE JSTaggedValue ICRuntimeStub::TryLoadICByName(JSThread *thread, JSTaggedValue receiver,
91 if (LIKELY(receiver.IsHeapObject())) {
92 auto hclass = receiver.GetTaggedObject()->GetClass();
94 return LoadICWithHandler(thread, receiver, receiver, secondValue);
98 return LoadICWithHandler(thread, receiver, receiver, cachedHandler);
100 } else if (receiver.IsNumber()) {
104 return LoadICWithHandler(thread, receiver, receiver, secondValue);
111 JSTaggedValue receiver, JSTaggedValue key, uint32_t slotId)
114 return LoadMiss(thread, profileTypeInfo, receiver, key, slotId, ICKind::NamedLoadIC);
117 ARK_INLINE JSTaggedValue ICRuntimeStub::TryLoadICByValue(JSThread *thread, JSTaggedValue receiver, JSTaggedValue key,
121 if (receiver.IsHeapObject()) {
122 auto hclass = receiver.GetTaggedObject()->GetClass();
125 return LoadElement(JSObject::Cast(receiver.GetTaggedObject()), key);
127 return LoadTypedArrayElement(thread, receiver, key);
130 return LoadStringElement(thread, receiver, key);
135 return LoadICWithElementHandler(thread, receiver, cachedHandler, key);
141 return LoadICWithHandler(thread, receiver, receiver, cachedHandler);
149 JSTaggedValue receiver, JSTaggedValue key, uint32_t slotId)
152 return LoadValueMiss(thread, profileTypeInfo, receiver, key, slotId, ICKind::LoadIC);
155 ARK_INLINE JSTaggedValue ICRuntimeStub::TryStoreICByValue(JSThread *thread, JSTaggedValue receiver,
160 if (receiver.IsHeapObject()) {
161 auto hclass = receiver.GetTaggedObject()->GetClass();
163 return StoreElement(thread, JSObject::Cast(receiver.GetTaggedObject()), key, value, secondValue);
169 return StoreICWithHandler(thread, receiver, receiver, value, cachedHandler);
178 JSTaggedValue receiver, JSTaggedValue key,
182 return StoreMiss(thread, profileTypeInfo, receiver, key, value, slotId, ICKind::StoreIC);
186 JSTaggedValue receiver, JSTaggedValue key,
190 return StoreMiss(thread, profileTypeInfo, receiver, key, value, slotId, ICKind::StoreIC, true);
193 ARK_INLINE JSTaggedValue ICRuntimeStub::TryStoreICByName(JSThread *thread, JSTaggedValue receiver,
198 if (receiver.IsHeapObject()) {
199 auto hclass = receiver.GetTaggedObject()->GetClass();
201 return StoreICWithHandler(thread, receiver, receiver, value, secondValue);
205 return StoreICWithHandler(thread, receiver, receiver, value, cachedHandler);
212 JSTaggedValue receiver, JSTaggedValue key,
216 return StoreMiss(thread, profileTypeInfo, receiver, key, value, slotId, ICKind::NamedStoreIC);
219 ARK_INLINE JSTaggedValue ICRuntimeStub::StoreICWithHandler(JSThread *thread, JSTaggedValue receiver,
227 StoreField(thread, JSObject::Cast(receiver.GetTaggedObject()), value, handlerInfo);
239 return StoreICWithHandler(thread, receiver, holder, value,
244 return FastRuntimeStub::CallSetter(thread, JSTaggedValue(receiver), value, accessor);
247 StoreWithTransition(thread, JSObject::Cast(receiver.GetTaggedObject()), value, handler);
251 return StoreTransWithProto(thread, JSObject::Cast(receiver.GetTaggedObject()), value, handler);
254 return StorePrototype(thread, receiver, value, handler);
260 return StoreWithTS(thread, receiver, value, handler);
265 JSTaggedValue ICRuntimeStub::StorePrototype(JSThread *thread, JSTaggedValue receiver,
271 if (!receiver.IsJSShared()) {
284 return StoreICWithHandler(thread, receiver, holder, value, handlerInfo);
287 JSTaggedValue ICRuntimeStub::StoreWithTS(JSThread *thread, JSTaggedValue receiver,
303 StoreField(thread, JSObject::Cast(receiver.GetTaggedObject()), value, handlerInfoInt);
308 return FastRuntimeStub::CallSetter(thread, JSTaggedValue(receiver), value, accessor);
311 void ICRuntimeStub::StoreWithTransition(JSThread *thread, JSObject *receiver, JSTaggedValue value,
329 JSHandle<JSObject> objHandle(thread, receiver);
330 ElementsKind oldKind = receiver->GetJSHClass()->GetElementsKind();
366 JSTaggedValue ICRuntimeStub::StoreTransWithProto(JSThread *thread, JSObject *receiver, JSTaggedValue value,
371 ASSERT(!receiver->GetClass()->IsJSShared());
380 StoreWithTransition(thread, receiver, value, handler, true);
384 ARK_INLINE void ICRuntimeStub::StoreField(JSThread *thread, JSObject *receiver, JSTaggedValue value, uint64_t handler)
389 SET_VALUE_WITH_BARRIER(thread, receiver, static_cast<uint32_t>(index) * JSTaggedValue::TaggedTypeSize(), value);
392 TaggedArray *array = TaggedArray::Cast(receiver->GetProperties().GetTaggedObject());
397 ARK_INLINE JSTaggedValue ICRuntimeStub::LoadFromField(JSObject *receiver, uint64_t handlerInfo)
401 return JSTaggedValue(GET_VALUE(receiver, static_cast<size_t>(index) * JSTaggedValue::TaggedTypeSize()));
403 return TaggedArray::Cast(receiver->GetProperties().GetTaggedObject())->Get(index);
431 JSTaggedValue ICRuntimeStub::LoadPrototype(JSThread *thread, JSTaggedValue receiver, JSTaggedValue handler)
436 if (!receiver.IsJSShared()) {
446 return LoadICWithHandler(thread, receiver, holder, handlerInfo);
449 ARK_INLINE JSTaggedValue ICRuntimeStub::LoadICWithHandler(JSThread *thread, JSTaggedValue receiver,
469 return FastRuntimeStub::CallGetter(thread, receiver, holder, accessor);
473 return LoadPrototype(thread, receiver, handler);
479 ARK_INLINE JSTaggedValue ICRuntimeStub::LoadICWithElementHandler(JSThread *thread, JSTaggedValue receiver,
485 return LoadElement(JSObject::Cast(receiver.GetTaggedObject()), key);
487 return LoadTypedArrayElement(thread, receiver, key);
490 return LoadStringElement(thread, receiver, key);
495 ARK_INLINE JSTaggedValue ICRuntimeStub::LoadElement(JSObject *receiver, JSTaggedValue key)
502 if (ElementAccessor::GetElementsLength(receiver) <= elementIndex) {
506 JSTaggedValue value = ElementAccessor::Get(receiver, elementIndex);
511 ARK_INLINE JSTaggedValue ICRuntimeStub::LoadStringElement(JSThread *thread, JSTaggedValue receiver, JSTaggedValue key)
520 JSHandle<EcmaString> strHandle(thread, receiver);
532 ARK_INLINE JSTaggedValue ICRuntimeStub::LoadTypedArrayElement(JSThread *thread, JSTaggedValue receiver,
539 auto typedarrayObj = JSTypedArray::Cast(receiver.GetTaggedObject());
545 return JSTypedArray::FastGetPropertyByIndex(thread, receiver, index, type);
548 JSTaggedValue ICRuntimeStub::StoreElement(JSThread *thread, JSObject *receiver, JSTaggedValue key,
560 JSHandle<JSObject> receiverHandle(thread, receiver);
563 return StoreTypedArrayElement(thread, JSTaggedValue::Cast(receiver), key, value);
590 if (receiver->GetClass()->IsJSShared()) {
602 return StoreElement(thread, receiver, key, value, handlerInfo);
607 ARK_INLINE JSTaggedValue ICRuntimeStub::StoreTypedArrayElement(JSThread *thread, JSTaggedValue receiver,
614 auto typedarrayObj = JSTypedArray::Cast(receiver.GetTaggedObject());
620 return JSTypedArray::FastSetPropertyByIndex(thread, receiver, index, value, type);
647 JSTaggedValue ICRuntimeStub::LoadMiss(JSThread *thread, ProfileTypeInfo *profileTypeInfo, JSTaggedValue receiver,
652 auto receiverHandle = JSHandle<JSTaggedValue>(thread, receiver);
658 JSTaggedValue ICRuntimeStub::LoadValueMiss(JSThread *thread, ProfileTypeInfo *profileTypeInfo, JSTaggedValue receiver,
663 auto receiverHandle = JSHandle<JSTaggedValue>(thread, receiver);
669 JSTaggedValue ICRuntimeStub::StoreMiss(JSThread *thread, ProfileTypeInfo *profileTypeInfo, JSTaggedValue receiver,
674 auto receiverHandle = JSHandle<JSTaggedValue>(thread, receiver);