Lines Matching defs:thread

147 void Elements::HandleIntKindMigration(const JSThread *thread, const JSHandle<JSObject> &object,
151 JSTaggedValue newElements = MigrateFromRawValueToHeapValue(thread, object, needCOW, true);
152 object->SetElements(thread, newElements);
154 MigrateFromHoleIntToHoleNumber(thread, object);
170 void Elements::HandleNumberKindMigration(const JSThread *thread, const JSHandle<JSObject> &object,
174 JSTaggedValue newElements = MigrateFromRawValueToHeapValue(thread, object, needCOW, false);
175 object->SetElements(thread, newElements);
177 MigrateFromHoleNumberToHoleInt(thread, object);
181 void Elements::HandleOtherKindMigration(const JSThread *thread, const JSHandle<JSObject> &object,
185 JSTaggedValue newElements = MigrateFromHeapValueToRawValue(thread, object, needCOW, true);
186 object->SetElements(thread, newElements);
188 JSTaggedValue newElements = MigrateFromHeapValueToRawValue(thread, object, needCOW, false);
189 object->SetElements(thread, newElements);
193 void Elements::MigrateArrayWithKind(const JSThread *thread, const JSHandle<JSObject> &object,
196 if (!thread->GetEcmaVM()->IsEnableElementsKind()) {
209 HandleIntKindMigration(thread, object, newKind, needCOW);
211 HandleNumberKindMigration(thread, object, newKind, needCOW);
213 HandleOtherKindMigration(thread, object, newKind, needCOW);
217 JSTaggedValue Elements::MigrateFromRawValueToHeapValue(const JSThread *thread, const JSHandle<JSObject> object,
220 ObjectFactory *factory = thread->GetEcmaVM()->GetFactory();
221 JSHandle<MutantTaggedArray> elements = JSHandle<MutantTaggedArray>(thread, object->GetElements());
223 JSMutableHandle<TaggedArray> newElements(thread, JSTaggedValue::Undefined());
232 newElements->Set(thread, i, JSTaggedValue::Hole());
235 newElements->Set(thread, i, JSTaggedValue(convertedValue));
238 newElements->Set(thread, i, JSTaggedValue(convertedValue));
244 JSTaggedValue Elements::MigrateFromHeapValueToRawValue(const JSThread *thread, const JSHandle<JSObject> object,
247 ObjectFactory *factory = thread->GetEcmaVM()->GetFactory();
248 JSHandle<TaggedArray> elements = JSHandle<TaggedArray>(thread, object->GetElements());
250 JSMutableHandle<MutantTaggedArray> newElements(thread, JSTaggedValue::Undefined());
270 newElements->Set<false>(thread, i, JSTaggedValue(convertedValue));
275 void Elements::MigrateFromHoleIntToHoleNumber(const JSThread *thread, const JSHandle<JSObject> object)
277 JSHandle<MutantTaggedArray> elements = JSHandle<MutantTaggedArray>(thread, object->GetElements());
286 elements->Set<false>(thread, i, JSTaggedValue(base::bit_cast<JSTaggedType>(convertedValue)));
290 void Elements::MigrateFromHoleNumberToHoleInt(const JSThread *thread, const JSHandle<JSObject> object)
292 JSHandle<MutantTaggedArray> elements = JSHandle<MutantTaggedArray>(thread, object->GetElements());
301 elements->Set<false>(thread, i, JSTaggedValue(base::bit_cast<JSTaggedType>(convertedValue)));