Lines Matching refs:JSHClass
379 class JSHClass : public TaggedObject {
420 static JSHClass *Cast(const TaggedObject *object)
423 return static_cast<JSHClass *>(const_cast<TaggedObject *>(object));
434 static JSHandle<JSHClass> Clone(const JSThread *thread, const JSHandle<JSHClass> &jshclass,
436 static JSHandle<JSHClass> CloneWithoutInlinedProperties(const JSThread *thread, const JSHandle<JSHClass> &jshclass);
437 static JSHandle<JSHClass> CloneWithElementsKind(const JSThread *thread, const JSHandle<JSHClass> &jshclass,
445 static JSHandle<JSHClass> SetPropertyOfObjHClass(const JSThread *thread, JSHandle<JSHClass> &jshclass,
453 inline static void RestoreElementsKindToGeneric(JSHClass *newJsHClass);
455 static JSHandle<JSHClass> TransitionExtension(const JSThread *thread, const JSHandle<JSHClass> &jshclass);
461 static JSHandle<JSHClass> TransitionProto(const JSThread *thread, const JSHandle<JSHClass> &jshclass,
463 static JSHClass *FindTransitionProtoForAOT(const JSThread *thread, const JSHandle<JSHClass> &jshclass,
465 static JSHandle<JSHClass> TransProtoWithoutLayout(const JSThread *thread, const JSHandle<JSHClass> &jshclass,
467 static JSHandle<JSHClass> CloneWithAddProto(const JSThread *thread, const JSHandle<JSHClass> &jshclass,
475 static bool IsInitialArrayHClassWithElementsKind(const JSThread *thread, const JSHClass *targetHClass,
488 static void UpdateFieldType(JSHClass *hclass, const PropertyAttributes &attr);
489 static JSHClass *FindFieldOwnHClass(JSHClass *hclass, const PropertyAttributes &attr);
490 static void VisitAndUpdateLayout(JSHClass *ownHClass, const PropertyAttributes &attr);
492 static JSHandle<JSTaggedValue> EnableProtoChangeMarker(const JSThread *thread, const JSHandle<JSHClass> &jshclass);
494 const JSThread *thread, const JSHandle<JSHClass> &protoClass);
496 static void NotifyHclassChanged(const JSThread *thread, JSHandle<JSHClass> oldHclass, JSHandle<JSHClass> newHclass,
499 static void NotifyAccessorChanged(const JSThread *thread, JSHandle<JSHClass> hclass);
501 static void RegisterOnProtoChain(const JSThread *thread, const JSHandle<JSHClass> &jshclass);
503 static bool UnregisterOnProtoChain(const JSThread *thread, const JSHandle<JSHClass> &jshclass);
506 const JSHandle<JSHClass> &jshclass);
513 static void MarkProtoChanged(const JSThread *thread, const JSHandle<JSHClass> &jshclass);
515 static void NoticeThroughChain(const JSThread *thread, const JSHandle<JSHClass> &jshclass,
518 static void RefreshUsers(const JSThread *thread, const JSHandle<JSHClass> &oldHclass,
519 const JSHandle<JSHClass> &newHclass);
521 static bool IsNeedNotifyHclassChangedForAotTransition(const JSThread *thread, const JSHandle<JSHClass> &hclass,
1982 inline static JSHClass *FindRootHClass(JSHClass *hclass);
1983 inline static JSTaggedValue FindProtoHClass(JSHClass *hclass);
1984 inline static JSTaggedValue FindProtoRootHClass(JSHClass *hclass);
1985 inline static void UpdateRootHClass(const JSThread *thread, const JSHandle<JSHClass> &parent,
1986 const JSHandle<JSHClass> &child);
1988 inline static int FindPropertyEntry(const JSThread *thread, JSHClass *hclass, JSTaggedValue key);
1990 static PUBLIC_API PropertyLookupResult LookupPropertyInAotHClass(const JSThread *thread, JSHClass *hclass,
1992 static PUBLIC_API PropertyLookupResult LookupPropertyInPGOHClass(const JSThread *thread, JSHClass *hclass,
1995 JSHClass *hclass, JSTaggedValue key);
1996 static PUBLIC_API PropertyLookupResult LookupPropertyInBuiltinHClass(const JSThread *thread, JSHClass *hclass,
2012 static JSHandle<JSHClass> SetPrototypeWithNotification(const JSThread *thread,
2013 const JSHandle<JSHClass> &hclass,
2031 inline JSHClass *FindTransitions(const JSTaggedValue &key,
2034 inline JSHClass *CheckHClassForRep(JSHClass *hclass, const Representation &rep);
2040 static JSHandle<JSHClass> CreateRootHClassFromPGO(const JSThread* thread,
2044 static JSHandle<JSHClass> CreateRootHClassWithCached(const JSThread* thread,
2047 static JSHandle<JSHClass> CreateChildHClassFromPGO(const JSThread* thread,
2048 const JSHandle<JSHClass>& parent,
2050 static bool DumpRootHClassByPGO(const JSHClass* hclass, HClassLayoutDesc* desc);
2051 static bool DumpChildHClassByPGO(const JSHClass* hclass, HClassLayoutDesc* desc);
2052 static bool UpdateRootLayoutDescByPGO(const JSHClass* hclass, HClassLayoutDesc* rootDesc);
2053 static bool UpdateChildLayoutDescByPGO(const JSHClass* hclass, HClassLayoutDesc* childDesc);
2057 inline JSHClass *FindProtoTransitions(const JSTaggedValue &key, const JSTaggedValue &proto);
2063 static JSHandle<JSHClass> CreateSHClass(JSThread *thread,
2065 const JSHClass *parentHClass = nullptr,
2067 static JSHandle<JSHClass> CreateSConstructorHClass(JSThread *thread, const std::vector<PropertyDescriptor> &descs);
2068 static JSHandle<JSHClass> CreateSPrototypeHClass(JSThread *thread, const std::vector<PropertyDescriptor> &descs);
2073 const JSHandle<JSHClass> hclass);
2077 const JSHandle<JSHClass> &hclass,
2078 const JSHClass *parentHClass = nullptr);
2081 const JSHandle<JSHClass> &hclass,
2082 const JSHClass *parentHClass = nullptr);
2083 static inline void AddTransitions(const JSThread *thread, const JSHandle<JSHClass> &parent,
2084 const JSHandle<JSHClass> &child, const JSHandle<JSTaggedValue> &key,
2086 static inline void AddExtensionTransitions(const JSThread *thread, const JSHandle<JSHClass> &parent,
2087 const JSHandle<JSHClass> &child, const JSHandle<JSTaggedValue> &key);
2088 static inline void AddProtoTransitions(const JSThread *thread, const JSHandle<JSHClass> &parent,
2089 const JSHandle<JSHClass> &child, const JSHandle<JSTaggedValue> &key,
2092 static inline void AddPropertyToNewHClass(const JSThread *thread, JSHandle<JSHClass> &jshclass,
2093 JSHandle<JSHClass> &newJsHClass, const JSHandle<JSTaggedValue> &key,
2105 inline void Copy(const JSThread *thread, const JSHClass *jshclass);
2118 static_assert(JSHClass::BIT_FIELD_OFFSET % static_cast<uint8_t>(MemAlignment::MEM_ALIGN_OBJECT) == 0);