Lines Matching full:handler
46 …// Store Handler kind combined with KindBit called SWholeKindBit. Which used to quickly check S_FI…
66 static_assert(NeedSkipInPGODumpBit::END_BIT <= MAX_BIT_SIZE, "load handler overflow");
77 static_assert(SFieldTypeBit::END_BIT <= MAX_BIT_SIZE, "store handler overflow");
84 static inline bool IsAccessor(Type handler) in IsAccessor() argument
86 return AccessorBit::Get(handler); in IsAccessor()
89 static inline SharedFieldType GetFieldType(Type handler) in GetFieldType() argument
91 return static_cast<SharedFieldType>(SFieldTypeBit::Get(handler)); in GetFieldType()
94 static inline bool IsNonExist(Type handler) in IsNonExist() argument
96 return GetKind(handler) == HandlerKind::NON_EXIST; in IsNonExist()
99 static inline bool IsField(Type handler) in IsField() argument
101 return GetKind(handler) == HandlerKind::FIELD; in IsField()
104 static inline bool IsNonSharedStoreField(Type handler) in IsNonSharedStoreField() argument
106 return static_cast<StoreHandlerKind>(GetKind(handler)) == StoreHandlerKind::S_FIELD; in IsNonSharedStoreField()
109 static inline bool IsStoreShared(Type handler) in IsStoreShared() argument
111 return SSharedBit::Get(handler); in IsStoreShared()
114 static inline void ClearSharedStoreKind(Type &handler) in ClearSharedStoreKind() argument
116 SSharedBit::Set<Type>(false, &handler); in ClearSharedStoreKind()
119 static inline bool IsStoreOutOfBounds(Type handler) in IsStoreOutOfBounds() argument
121 return SOutOfBoundsBit::Get(handler); in IsStoreOutOfBounds()
124 static inline void ClearStoreOutOfBounds(Type &handler) in ClearStoreOutOfBounds() argument
126 SOutOfBoundsBit::Set<Type>(false, &handler); in ClearStoreOutOfBounds()
129 static inline bool IsString(Type handler) in IsString() argument
131 return GetKind(handler) == HandlerKind::STRING; in IsString()
134 static inline bool IsNumber(Type handler) in IsNumber() argument
136 return GetKind(handler) == HandlerKind::NUMBER; in IsNumber()
139 static inline bool IsStringLength(Type handler) in IsStringLength() argument
141 return GetKind(handler) == HandlerKind::STRING_LENGTH; in IsStringLength()
144 static inline bool IsElement(Type handler) in IsElement() argument
146 return IsNormalElement(handler) || IsStringElement(handler) || IsTypedArrayElement(handler); in IsElement()
149 static inline bool IsNormalElement(Type handler) in IsNormalElement() argument
151 return GetKind(handler) == HandlerKind::ELEMENT; in IsNormalElement()
154 static inline bool IsStringElement(Type handler) in IsStringElement() argument
156 return GetKind(handler) == HandlerKind::STRING; in IsStringElement()
159 static inline bool IsTypedArrayElement(Type handler) in IsTypedArrayElement() argument
161 return GetKind(handler) == HandlerKind::TYPED_ARRAY; in IsTypedArrayElement()
164 static inline bool IsDictionary(Type handler) in IsDictionary() argument
166 return GetKind(handler) == HandlerKind::DICTIONARY; in IsDictionary()
169 static inline bool IsInlinedProps(Type handler) in IsInlinedProps() argument
171 return InlinedPropsBit::Get(handler); in IsInlinedProps()
174 static inline HandlerKind GetKind(Type handler) in GetKind() argument
176 return KindBit::Get(handler); in GetKind()
179 static inline bool IsJSArray(Type handler) in IsJSArray() argument
181 return IsJSArrayBit::Get(handler); in IsJSArray()
184 static inline bool NeedSkipInPGODump(Type handler) in NeedSkipInPGODump() argument
186 return NeedSkipInPGODumpBit::Get(handler); in NeedSkipInPGODump()
189 static inline int GetOffset(Type handler) in GetOffset() argument
191 return OffsetBit::Get(handler); in GetOffset()
194 static inline bool IsOnHeap(Type handler) in IsOnHeap() argument
196 return IsOnHeapBit::Get(handler); in IsOnHeap()
199 static void PrintLoadHandler(uint64_t handler, std::ostream& os);
200 static void PrintStoreHandler(uint64_t handler, std::ostream& os);
210 uint64_t handler = 0; in LoadStringElement() local
211 KindBit::Set<uint64_t>(HandlerKind::STRING, &handler); in LoadStringElement()
212 return JSHandle<JSTaggedValue>(thread, JSTaggedValue::WrapUint64(handler)); in LoadStringElement()
218 uint64_t handler = 0; in LoadTypedArrayElement() local
219 KindBit::Set<uint64_t>(HandlerKind::TYPED_ARRAY, &handler); in LoadTypedArrayElement()
220 …t::Set<uint64_t>(JSHandle<TaggedObject>(typedArray)->GetClass()->IsOnHeapFromBitField(), &handler); in LoadTypedArrayElement()
221 return JSHandle<JSTaggedValue>(thread, JSTaggedValue::WrapUint64(handler)); in LoadTypedArrayElement()
230 … JSHandle<JSTaggedValue> receiver, uint64_t handler) in StoreElement() argument
232 SKindBit::Set<uint64_t>(StoreHandlerKind::S_ELEMENT, &handler); in StoreElement()
235 IsJSArrayBit::Set<uint64_t>(true, &handler); in StoreElement()
237 return JSHandle<JSTaggedValue>(thread, JSTaggedValue::WrapUint64(handler)); in StoreElement()
240 …ne void SFieldTypeBitSet(const ObjectOperator &op, JSHandle<JSObject> &receiver, uint64_t *handler) in SFieldTypeBitSet() argument
242 SSharedBit::Set<uint64_t>(op.GetReceiver()->IsJSShared(), handler); in SFieldTypeBitSet()
245 SFieldTypeBit::Set<uint64_t>(op.GetAttr().GetSharedFieldType(), handler); in SFieldTypeBitSet()
247 SFieldTypeBit::Set<uint64_t>(op.GetAttr().GetDictSharedFieldType(), handler); in SFieldTypeBitSet()