Lines Matching refs:hclass
28 void PGOProfiler::RecordProfileType(JSHClass *hclass, JSPandaFile *pandaFile, int32_t traceId)
33 ProfileType traceType = GetProfileType(hclass);
37 SetRootProfileType(hclass, abcId, traceId, ProfileType::Kind::ObjectLiteralId);
108 JSHandle<JSHClass> hclass,
121 ProfileClassRootHClass(func.GetTaggedType(), hclass.GetTaggedType());
127 ProfileClassRootHClass(func.GetTaggedType(), hclass.GetTaggedType());
130 [[maybe_unused]] bool success = transitionTable->TryInsertFakeParentItem(hclass.GetTaggedType(), ihc);
135 ProfileClassRootHClass(func.GetTaggedType(), hclass.GetTaggedType(), ProfileType::Kind::TransitionClassId);
261 // we update cachedHClass with initial array hclass which does not have IsPrototype set.
263 auto hclass = globalConst->GetGlobalConstantObject(static_cast<size_t>(constantId));
264 trackInfo->SetCachedHClass(vm_->GetJSThread(), hclass);
982 JSHClass *hclass = JSHClass::Cast(object);
983 DumpICByNameWithHandler(abcId, recordName, methodId, bcOffset, hclass, secondValue, type);
1005 JSHClass *hclass = JSHClass::Cast(object);
1006 DumpICByValueWithHandler(abcId, recordName, methodId, bcOffset, hclass, secondValue, type);
1037 JSHClass *hclass = JSHClass::Cast(object);
1038 if (!DumpICByNameWithHandler(abcId, recordName, methodId, bcOffset, hclass, handler, type)) {
1064 JSHClass *hclass = JSHClass::Cast(object);
1065 DumpICByValueWithHandler(abcId, recordName, methodId, bcOffset, hclass, handler, type);
1070 int32_t bcOffset, JSHClass *hclass, JSTaggedValue secondValue, BCType type)
1072 TryDumpProtoTransitionType(hclass);
1074 return DumpICLoadByNameWithHandler(abcId, recordName, methodId, bcOffset, hclass, secondValue);
1078 return AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, hclass);
1084 return AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, transitionHClass);
1095 return AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, transitionHClass);
1107 abcId, recordName, methodId, bcOffset, hclass, holderHClass, holderHClass, accessorMethodId);
1116 return AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, holderHClass, holderHClass);
1123 int32_t bcOffset, JSHClass *hclass, JSTaggedValue secondValue)
1132 if (AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, hclass)) {
1136 return AddBuiltinsInfoByNameInInstance(abcId, recordName, methodId, bcOffset, hclass);
1154 if (!AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, holderHClass,
1156 return AddBuiltinsInfoByNameInProt(abcId, recordName, methodId, bcOffset, hclass, holderHClass);
1165 int32_t bcOffset, JSHClass *hclass, JSTaggedValue secondValue, BCType type)
1167 TryDumpProtoTransitionType(hclass);
1175 AddBuiltinsInfo(abcId, recordName, methodId, bcOffset, hclass, hclass);
1181 AddBuiltinsInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, onHeap);
1185 AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, hclass);
1192 AddBuiltinsInfo(abcId, recordName, methodId, bcOffset, hclass, hclass,
1199 AddBuiltinsInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, onHeap,
1204 AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, hclass);
1215 AddBuiltinsInfo(abcId, recordName, methodId, bcOffset, hclass, transitionHClass,
1219 AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, transitionHClass);
1231 AddBuiltinsInfo(abcId, recordName, methodId, bcOffset, hclass, transitionHClass,
1235 AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, transitionHClass);
1252 AddBuiltinsInfo(abcId, recordName, methodId, bcOffset, hclass, hclass,
1258 AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, holderHClass, holderHClass);
1262 void PGOProfiler::TryDumpProtoTransitionType(JSHClass *hclass)
1264 JSHClass *ihc1 = JSHClass::FindRootHClass(hclass);
1365 LOG_ECMA(DEBUG) << "The profileType of constructor root hclass was not found.";
1376 LOG_ECMA(DEBUG) << "The profileType of prototype root hclass was not found.";
1423 auto hclass = JSHClass::Cast(cachedHClass.GetTaggedObject());
1424 recordInfos_->AddRootLayout(JSTaggedType(hclass), profileType);
1516 JSHClass *hclass = JSHClass::Cast(object);
1517 // Since pgo does not support symbol, we choose to return if hclass having @@hasInstance
1521 JSTaggedValue foundHClass = TryFindKeyInPrototypeChain(object, hclass, key);
1525 AddObjectInfo(abcId, recordName, methodId, bcOffset, hclass, hclass, hclass);
1533 void PGOProfiler::UpdateLayout(JSHClass *hclass)
1535 auto parentHClass = hclass->GetParent();
1536 if (!GetProfileType(hclass).IsRootType() && parentHClass.IsJSHClass()) {
1537 UpdateTransitionLayout(JSHClass::Cast(parentHClass.GetTaggedObject()), hclass);
1539 auto rootHClass = JSHClass::FindRootHClass(hclass);
1555 auto curType = GetOrInsertProfileType(hclass, rootType);
1556 recordInfos_->UpdateLayout(rootType, JSTaggedType(hclass), curType);
1567 // If the child hclass is set as a prototype, it will become the root hclass. Need to give up.
1836 LOG_ECMA(DEBUG) << "forbide to add more than 1 hclass for a root type!";
1855 ProfileType PGOProfiler::FindRootProfileType(JSHClass *hclass)
1857 auto rootHClass = JSHClass::FindRootHClass(hclass);
1872 ProfileType PGOProfiler::GetProfileType(JSHClass *hclass, bool check)
1874 auto result = ProfileType(hclass->GetProfileType());