Lines Matching refs:JSHClass
28 void PGOProfiler::RecordProfileType(JSHClass *hclass, JSPandaFile *pandaFile, int32_t traceId)
68 auto ihc = JSHClass::Cast(protoOrHClass.GetTaggedObject());
102 auto rootHc = JSHClass::Cast(JSTaggedValue(rootHcValue).GetTaggedObject());
108 JSHandle<JSHClass> hclass,
115 JSHClass *phc = proto->GetTaggedObject()->GetClass();
116 JSHClass *phcRoot = JSHClass::FindRootHClass(phc);
164 if (JSHandle<JSHClass>(baseIhc)->IsDictionaryMode() || JSHandle<JSHClass>(transPhc)->IsDictionaryMode()) {
174 JSHandle<JSHClass> ihc = factory->NewEcmaHClass(JSObject::SIZE, JSType::JS_OBJECT, oldPrototype);
178 JSHClass *phc0Root = JSHClass::FindRootHClass(oldPrototype->GetTaggedObject()->GetClass());
183 void PGOProfiler::ProfileDefineGetterSetter(JSHClass* receiverHClass,
184 JSHClass* holderHClass,
233 void PGOProfiler::UpdateRootProfileTypeSafe(JSHClass* oldHClass, JSHClass* newHClass)
982 JSHClass *hclass = JSHClass::Cast(object);
1005 JSHClass *hclass = JSHClass::Cast(object);
1037 JSHClass *hclass = JSHClass::Cast(object);
1064 JSHClass *hclass = JSHClass::Cast(object);
1070 int32_t bcOffset, JSHClass *hclass, JSTaggedValue secondValue, BCType type)
1083 auto transitionHClass = JSHClass::Cast(transitionHClassVal.GetTaggedObject());
1094 auto transitionHClass = JSHClass::Cast(transitionHClassVal.GetTaggedObject());
1123 int32_t bcOffset, JSHClass *hclass, JSTaggedValue secondValue)
1165 int32_t bcOffset, JSHClass *hclass, JSTaggedValue secondValue, BCType type)
1213 auto transitionHClass = JSHClass::Cast(transitionHClassVal.GetTaggedObject());
1229 auto transitionHClass = JSHClass::Cast(transitionHClassVal.GetTaggedObject());
1262 void PGOProfiler::TryDumpProtoTransitionType(JSHClass *hclass)
1264 JSHClass *ihc1 = JSHClass::FindRootHClass(hclass);
1269 JSTaggedValue phc1Root = JSHClass::FindProtoRootHClass(ihc1);
1270 auto transitionProtoType = GetProfileType(JSHClass::Cast(phc1Root.GetTaggedObject()), true);
1284 auto ihc0Obj = JSHClass::Cast(JSTaggedValue(ihc0).GetTaggedObject());
1285 auto baseIhcObj = JSHClass::Cast(JSTaggedValue(baseIhc).GetTaggedObject());
1292 auto baseRootHClass = JSHClass::FindRootHClass(baseIhcObj);
1356 auto ihc = JSHClass::Cast(protoOrHClass.GetTaggedObject());
1362 auto ctorRootHClass = JSHClass::FindRootHClass(ctorFunction->GetJSHClass());
1373 auto prototypeRootHClass = JSHClass::FindRootHClass(prototypeHClass);
1399 auto newHClass = JSHClass::Cast(object);
1400 auto rootHClass = JSHClass::FindRootHClass(newHClass);
1423 auto hclass = JSHClass::Cast(cachedHClass.GetTaggedObject());
1516 JSHClass *hclass = JSHClass::Cast(object);
1520 JSHClass *functionPrototypeHC = JSObject::Cast(env->GetFunctionPrototype().GetTaggedValue())->GetClass();
1522 if (!foundHClass.IsUndefined() && JSHClass::Cast(foundHClass.GetTaggedObject()) != functionPrototypeHC) {
1533 void PGOProfiler::UpdateLayout(JSHClass *hclass)
1537 UpdateTransitionLayout(JSHClass::Cast(parentHClass.GetTaggedObject()), hclass);
1539 auto rootHClass = JSHClass::FindRootHClass(hclass);
1545 auto prototypeHClass = JSHClass::FindProtoRootHClass(rootHClass);
1547 auto prototypeObject = JSHClass::Cast(prototypeHClass.GetTaggedObject());
1551 UpdateLayout(JSHClass::Cast(prototypeHClass.GetTaggedObject()));
1560 void PGOProfiler::UpdateTransitionLayout(JSHClass* parent, JSHClass* child)
1562 auto rootHClass = JSHClass::FindRootHClass(parent);
1571 CStack<JSHClass *> hclassVec;
1580 parent = JSHClass::Cast(parentHCValue.GetTaggedObject());
1584 auto prototypeRootHClassVal = JSHClass::FindProtoRootHClass(rootHClass);
1586 auto prototypeRootHClass = JSHClass::Cast(prototypeRootHClassVal.GetTaggedObject());
1611 JSHClass* receiver,
1612 JSHClass* hold,
1613 JSHClass* holdTra,
1648 JSHClass *receiver, JSHClass *hold, JSHClass *holdTra, uint32_t accessorMethodId)
1655 void PGOProfiler::UpdatePrototypeChainInfo(JSHClass *receiver, JSHClass *holder, PGOObjectInfo &info)
1662 JSTaggedValue proto = JSHClass::FindProtoHClass(receiver);
1664 auto protoHClass = JSHClass::Cast(proto.GetTaggedObject());
1674 proto = JSHClass::FindProtoHClass(protoHClass);
1691 int32_t bcOffset, JSHClass *receiver)
1706 JSHClass *exceptRecvHClass = nullptr;
1720 exceptRecvHClass = JSHClass::Cast(thread->GlobalConstants()->GetIteratorResultClass().GetTaggedObject());
1735 int32_t bcOffset, JSHClass *receiver, JSHClass *hold)
1743 JSHClass *exceptRecvHClass = nullptr;
1777 bool PGOProfiler::IsJSHClassNotEqual(JSHClass *receiver, JSHClass *hold, JSHClass *exceptRecvHClass,
1778 JSHClass *exceptRecvHClassOnHeap, JSHClass *exceptHoldHClass,
1779 JSHClass *exceptPrototypeOfPrototypeHClass)
1805 ApEntityId abcId, const CString &recordName, EntityId methodId, int32_t bcOffset, JSHClass *receiver,
1806 JSHClass *transitionHClass, OnHeapMode onHeap, bool everOutOfBounds)
1843 void PGOProfiler::SetRootProfileType(JSHClass *root, ApEntityId abcId, uint32_t type, ProfileType::Kind kind)
1855 ProfileType PGOProfiler::FindRootProfileType(JSHClass *hclass)
1857 auto rootHClass = JSHClass::FindRootHClass(hclass);
1861 ProfileType PGOProfiler::GetOrInsertProfileType(JSHClass *child, ProfileType rootType)
1872 ProfileType PGOProfiler::GetProfileType(JSHClass *hclass, bool check)
2094 JSTaggedValue PGOProfiler::TryFindKeyInPrototypeChain(TaggedObject *currObj, JSHClass *currHC, JSTaggedValue key)
2103 int entry = JSHClass::FindPropertyEntry(vm_->GetJSThread(), currHC, key);