Lines Matching full:field
1542 Field *field = ResolveField(id); in HandleLdobj() local
1544 if (LIKELY(field != nullptr)) { in HandleLdobj()
1545 ASSERT(!field->IsStatic()); in HandleLdobj()
1546 LoadPrimitiveField(obj, field); in HandleLdobj()
1567 Field *field = ResolveField(id); in HandleLdobjWide() local
1569 if (LIKELY(field != nullptr)) { in HandleLdobjWide()
1570 ASSERT(!field->IsStatic()); in HandleLdobjWide()
1571 LoadPrimitiveField(obj, field); in HandleLdobjWide()
1592 Field *field = ResolveField(id); in HandleLdobjObj() local
1594 if (LIKELY(field != nullptr)) { in HandleLdobjObj()
1595 ASSERT(!field->IsStatic()); in HandleLdobjObj()
1596 ASSERT(field->GetType().IsReference()); in HandleLdobjObj()
1598 … obj->GetFieldObject<RuntimeIfaceT::NEED_READ_BARRIER>(this->GetThread(), *field)); in HandleLdobjObj()
1620 Field *field = ResolveField(id); in HandleLdobjV() local
1622 if (LIKELY(field != nullptr)) { in HandleLdobjV()
1623 ASSERT(!field->IsStatic()); in HandleLdobjV()
1625 LoadPrimitiveFieldReg(vreg, obj, field); in HandleLdobjV()
1647 Field *field = ResolveField(id); in HandleLdobjVWide() local
1649 if (LIKELY(field != nullptr)) { in HandleLdobjVWide()
1650 ASSERT(!field->IsStatic()); in HandleLdobjVWide()
1652 LoadPrimitiveFieldReg(vreg, obj, field); in HandleLdobjVWide()
1674 Field *field = ResolveField(id); in HandleLdobjVObj() local
1676 if (LIKELY(field != nullptr)) { in HandleLdobjVObj()
1677 ASSERT(!field->IsStatic()); in HandleLdobjVObj()
1678 ASSERT(field->GetType().IsReference()); in HandleLdobjVObj()
1680 … obj->GetFieldObject<RuntimeIfaceT::NEED_READ_BARRIER>(this->GetThread(), *field)); in HandleLdobjVObj()
1701 Field *field = ResolveField(id); in HandleStobj() local
1703 if (LIKELY(field != nullptr)) { in HandleStobj()
1704 ASSERT(!field->IsStatic()); in HandleStobj()
1705 StorePrimitiveField(obj, field); in HandleStobj()
1726 Field *field = ResolveField(id); in HandleStobjWide() local
1728 if (LIKELY(field != nullptr)) { in HandleStobjWide()
1729 ASSERT(!field->IsStatic()); in HandleStobjWide()
1730 StorePrimitiveField(obj, field); in HandleStobjWide()
1751 Field *field = ResolveField(id); in HandleStobjObj() local
1753 if (LIKELY(field != nullptr)) { in HandleStobjObj()
1754 ASSERT(!field->IsStatic()); in HandleStobjObj()
1755 ASSERT(field->GetType().IsReference()); in HandleStobjObj()
1756 obj->SetFieldObject<RuntimeIfaceT::NEED_WRITE_BARRIER>(this->GetThread(), *field, in HandleStobjObj()
1779 Field *field = ResolveField(id); in HandleStobjV() local
1781 if (LIKELY(field != nullptr)) { in HandleStobjV()
1782 ASSERT(!field->IsStatic()); in HandleStobjV()
1783 StorePrimitiveFieldReg(this->GetFrame()->GetVReg(vd), obj, field); in HandleStobjV()
1805 Field *field = ResolveField(id); in HandleStobjVWide() local
1807 if (LIKELY(field != nullptr)) { in HandleStobjVWide()
1808 ASSERT(!field->IsStatic()); in HandleStobjVWide()
1809 StorePrimitiveFieldReg(this->GetFrame()->GetVReg(vd), obj, field); in HandleStobjVWide()
1831 Field *field = ResolveField(id); in HandleStobjVObj() local
1833 if (LIKELY(field != nullptr)) { in HandleStobjVObj()
1834 ASSERT(!field->IsStatic()); in HandleStobjVObj()
1835 ASSERT(field->GetType().IsReference()); in HandleStobjVObj()
1836 obj->SetFieldObject<RuntimeIfaceT::NEED_WRITE_BARRIER>(this->GetThread(), *field, in HandleStobjVObj()
1852 Field *field = ResolveField<true>(id); in HandleLdstatic() local
1853 if (LIKELY(field != nullptr)) { in HandleLdstatic()
1854 ASSERT(field->IsStatic()); in HandleLdstatic()
1855 LoadPrimitiveField(GetClass(field), field); in HandleLdstatic()
1869 Field *field = ResolveField<true>(id); in HandleLdstaticWide() local
1870 if (LIKELY(field != nullptr)) { in HandleLdstaticWide()
1871 ASSERT(field->IsStatic()); in HandleLdstaticWide()
1872 LoadPrimitiveField(GetClass(field), field); in HandleLdstaticWide()
1886 Field *field = ResolveField<true>(id); in HandleLdstaticObj() local
1887 if (LIKELY(field != nullptr)) { in HandleLdstaticObj()
1888 ASSERT(field->IsStatic()); in HandleLdstaticObj()
1889 Class *klass = GetClass(field); in HandleLdstaticObj()
1890 ASSERT(field->GetType().IsReference()); in HandleLdstaticObj()
1892 klass->GetFieldObject<RuntimeIfaceT::NEED_READ_BARRIER>(this->GetThread(), *field)); in HandleLdstaticObj()
1906 Field *field = ResolveField<true>(id); in HandleStstatic() local
1907 if (LIKELY(field != nullptr)) { in HandleStstatic()
1908 ASSERT(field->IsStatic()); in HandleStstatic()
1909 Class *klass = GetClass(field); in HandleStstatic()
1910 StorePrimitiveField(klass, field); in HandleStstatic()
1924 Field *field = ResolveField<true>(id); in HandleStstaticWide() local
1925 if (LIKELY(field != nullptr)) { in HandleStstaticWide()
1926 ASSERT(field->IsStatic()); in HandleStstaticWide()
1927 Class *klass = GetClass(field); in HandleStstaticWide()
1928 StorePrimitiveField(klass, field); in HandleStstaticWide()
1942 Field *field = ResolveField<true>(id); in HandleStstaticObj() local
1943 if (LIKELY(field != nullptr)) { in HandleStstaticObj()
1944 ASSERT(field->IsStatic()); in HandleStstaticObj()
1945 Class *klass = GetClass(field); in HandleStstaticObj()
1946 ASSERT(field->GetType().IsReference()); in HandleStstaticObj()
1947 klass->SetFieldObject<RuntimeIfaceT::NEED_WRITE_BARRIER>(this->GetThread(), *field, in HandleStstaticObj()
2383 // Whenever we obtain a class by a field, method, etc., in GetClass()
2393 ALWAYS_INLINE void LoadPrimitiveFieldReg(R &vreg, T *obj, Field *field) in LoadPrimitiveFieldReg() argument
2395 auto value = static_cast<int64_t>(obj->template GetFieldPrimitive<F>(*field)); in LoadPrimitiveFieldReg()
2400 ALWAYS_INLINE void LoadPrimitiveFieldReg(R &vreg, T *obj, Field *field) in LoadPrimitiveFieldReg() argument
2402 switch (field->GetTypeId()) { in LoadPrimitiveFieldReg()
2405 LoadPrimitiveFieldReg<uint8_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2408 LoadPrimitiveFieldReg<int8_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2411 LoadPrimitiveFieldReg<int16_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2414 LoadPrimitiveFieldReg<uint16_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2417 LoadPrimitiveFieldReg<int32_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2420 LoadPrimitiveFieldReg<uint32_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2423 LoadPrimitiveFieldReg<int64_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2426 LoadPrimitiveFieldReg<uint64_t>(vreg, obj, field); in LoadPrimitiveFieldReg()
2429 vreg.SetPrimitive(obj->template GetFieldPrimitive<float>(*field)); in LoadPrimitiveFieldReg()
2432 vreg.SetPrimitive(obj->template GetFieldPrimitive<double>(*field)); in LoadPrimitiveFieldReg()
2441 ALWAYS_INLINE void LoadPrimitiveField(T *obj, Field *field) in LoadPrimitiveField() argument
2443 auto value = static_cast<int64_t>(obj->template GetFieldPrimitive<F>(*field)); in LoadPrimitiveField()
2448 ALWAYS_INLINE void LoadPrimitiveField(T *obj, Field *field) in LoadPrimitiveField() argument
2450 switch (field->GetTypeId()) { in LoadPrimitiveField()
2453 LoadPrimitiveField<uint8_t>(obj, field); in LoadPrimitiveField()
2456 LoadPrimitiveField<int8_t>(obj, field); in LoadPrimitiveField()
2459 LoadPrimitiveField<int16_t>(obj, field); in LoadPrimitiveField()
2462 LoadPrimitiveField<uint16_t>(obj, field); in LoadPrimitiveField()
2465 LoadPrimitiveField<int32_t>(obj, field); in LoadPrimitiveField()
2468 LoadPrimitiveField<uint32_t>(obj, field); in LoadPrimitiveField()
2471 LoadPrimitiveField<int64_t>(obj, field); in LoadPrimitiveField()
2474 LoadPrimitiveField<uint64_t>(obj, field); in LoadPrimitiveField()
2477 this->GetAccAsVReg().SetPrimitive(obj->template GetFieldPrimitive<float>(*field)); in LoadPrimitiveField()
2480 this->GetAccAsVReg().SetPrimitive(obj->template GetFieldPrimitive<double>(*field)); in LoadPrimitiveField()
2489 ALWAYS_INLINE void StorePrimitiveFieldReg(R &vreg, T *obj, Field *field) in StorePrimitiveFieldReg() argument
2491 switch (field->GetTypeId()) { in StorePrimitiveFieldReg()
2494 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint8_t>()); in StorePrimitiveFieldReg()
2498 obj->SetFieldPrimitive(*field, vreg.template GetAs<int8_t>()); in StorePrimitiveFieldReg()
2502 obj->SetFieldPrimitive(*field, vreg.template GetAs<int16_t>()); in StorePrimitiveFieldReg()
2506 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint16_t>()); in StorePrimitiveFieldReg()
2510 obj->SetFieldPrimitive(*field, vreg.template GetAs<int32_t>()); in StorePrimitiveFieldReg()
2514 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint32_t>()); in StorePrimitiveFieldReg()
2518 obj->SetFieldPrimitive(*field, vreg.template GetAs<int64_t>()); in StorePrimitiveFieldReg()
2522 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint64_t>()); in StorePrimitiveFieldReg()
2526 obj->SetFieldPrimitive(*field, vreg.template GetAs<float>()); in StorePrimitiveFieldReg()
2530 obj->SetFieldPrimitive(*field, vreg.template GetAs<double>()); in StorePrimitiveFieldReg()
2541 ALWAYS_INLINE void StorePrimitiveField(T *obj, Field *field) in StorePrimitiveField() argument
2543 switch (field->GetTypeId()) { in StorePrimitiveField()
2546 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint8_t>()); in StorePrimitiveField()
2550 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int8_t>()); in StorePrimitiveField()
2554 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int16_t>()); in StorePrimitiveField()
2558 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint16_t>()); in StorePrimitiveField()
2562 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int32_t>()); in StorePrimitiveField()
2566 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint32_t>()); in StorePrimitiveField()
2570 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int64_t>()); in StorePrimitiveField()
2574 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint64_t>()); in StorePrimitiveField()
2578 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<float>()); in StorePrimitiveField()
2582 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<double>()); in StorePrimitiveField()
2728 ALWAYS_INLINE Field *ResolveField(BytecodeId id) in ResolveField()
2731 …auto *res = cache->template Get<Field>(this->GetInst().GetAddress(), this->GetFrame()->GetMethod()… in ResolveField()
2742 … auto *field = RuntimeIfaceT::ResolveField(this->GetThread(), *this->GetFrame()->GetMethod(), id); in ResolveField() local
2744 if (UNLIKELY(field == nullptr)) { in ResolveField()
2749 cache->Set(this->GetInst().GetAddress(), field, this->GetFrame()->GetMethod()); in ResolveField()
2750 return field; in ResolveField()