Lines Matching refs:JSHandle

42 static JSHandle<JSTaggedValue> CreateFinalizationRegistry(JSThread *thread)
48 JSHandle<JSFunction> finaRegFunc(env->GetBuiltinsFinalizationRegistryFunction());
49 JSHandle<JSFunction> callbackFunc = factory->NewJSFunction(env, reinterpret_cast<void *>(
59 JSHandle<JSTaggedValue> finalizationRegistryHandle(thread, finalizationRegistry);
80 JSHandle<JSTaggedValue> objectFunc = env->GetObjectFunction();
81 JSHandle<JSTaggedValue> target(factory->NewJSObjectByConstructor(JSHandle<JSFunction>(objectFunc), objectFunc));
82 JSHandle<JSTaggedValue> key(factory->NewFromASCII("key1"));
83 JSHandle<JSTaggedValue> value(thread, JSTaggedValue(1));
85 JSHandle<JSTaggedValue> heldValue(thread, JSTaggedValue(100));
86 JSHandle<JSTaggedValue> unregisterToken(thread, JSTaggedValue::Undefined());
87 JSHandle<JSTaggedValue> constructor = CreateFinalizationRegistry(thread);
88 JSHandle<JSFinalizationRegistry> finaRegObj(thread, constructor.GetTaggedValue());
91 JSHandle<CellRecord> cellRecord = factory->NewCellRecord();
94 JSHandle<JSTaggedValue> cell(cellRecord);
95 JSHandle<CellRecordVector> expectNoUnregister(thread, finaRegObj->GetNoUnregister());
99 JSHandle<JSTaggedValue> noUnregister(thread, finaRegObj->GetNoUnregister());
100 JSHandle<JSTaggedValue> finRegLists = env->GetFinRegLists();
102 JSHandle<JSTaggedValue>::Cast(finaRegObj).GetTaggedValue().GetRawData());
114 JSHandle<JSTaggedValue> objectFunc = env->GetObjectFunction();
115 JSHandle<JSTaggedValue> target(factory->NewJSObjectByConstructor(JSHandle<JSFunction>(objectFunc), objectFunc));
116 JSHandle<JSTaggedValue> key(factory->NewFromASCII("key2"));
117 JSHandle<JSTaggedValue> value(thread, JSTaggedValue(2));
119 JSHandle<JSTaggedValue> heldValue(thread, JSTaggedValue(100));
120 JSHandle<JSTaggedValue> unregisterToken = target;
121 JSHandle<JSTaggedValue> constructor = CreateFinalizationRegistry(thread);
122 JSHandle<JSFinalizationRegistry> finaRegObj(thread, constructor.GetTaggedValue());
125 JSHandle<CellRecord> cellRecord = factory->NewCellRecord();
128 JSHandle<JSTaggedValue> cell(cellRecord);
129 JSHandle<CellRecordVector> array = JSHandle<CellRecordVector>(CellRecordVector::Create(thread));
131 JSHandle<JSTaggedValue> arrayValue(array);
132 JSHandle<LinkedHashMap> expectMaybeUnregister(thread, finaRegObj->GetMaybeUnregister());
136 JSHandle<JSTaggedValue> maybeUnregister(thread, finaRegObj->GetMaybeUnregister());
139 JSHandle<JSTaggedValue> finRegLists = env->GetFinRegLists();
141 JSHandle<JSTaggedValue>::Cast(finaRegObj).GetTaggedValue().GetRawData());
152 JSHandle<JSTaggedValue> objectFunc = env->GetObjectFunction();
154 JSHandle<JSTaggedValue> target(thread, JSTaggedValue::Undefined());
157 auto obj = factory->NewJSObjectByConstructor(JSHandle<JSFunction>(objectFunc), objectFunc);
158 target = JSHandle<JSTaggedValue>::Cast(obj);
159 JSHandle<JSTaggedValue> heldValue(thread, JSTaggedValue(100)); // 100: tag value
160 JSHandle<JSTaggedValue> unregisterToken = testUnRegister? target :
161 JSHandle<JSTaggedValue>(thread, JSTaggedValue::Undefined());
162 JSHandle<JSTaggedValue> constructor = CreateFinalizationRegistry(thread);
163 JSHandle<JSFinalizationRegistry> finaRegObj(thread, constructor.GetTaggedValue());
165 JSHandle<CellRecord> cellRecord = factory->NewCellRecord();
168 JSHandle<JSTaggedValue> cell(cellRecord);
169 JSHandle<CellRecordVector> noUnregister(thread, finaRegObj->GetNoUnregister());
173 JSHandle<JSTaggedValue> finRegLists = env->GetFinRegLists();
174 EXPECT_EQ(finRegLists.GetTaggedValue(), JSHandle<JSTaggedValue>::Cast(finaRegObj).GetTaggedValue());
197 JSHandle<JSTaggedValue> objectFunc = env->GetObjectFunction();
199 JSHandle<JSTaggedValue> target1(thread, JSTaggedValue::Undefined());
200 JSHandle<JSTaggedValue> target2(thread, JSTaggedValue::Undefined());
203 auto obj = factory->NewJSObjectByConstructor(JSHandle<JSFunction>(objectFunc), objectFunc);
204 target1 = JSHandle<JSTaggedValue>::Cast(obj);
205 target2 = JSHandle<JSTaggedValue>::Cast(obj);
206 JSHandle<JSTaggedValue> heldValue(thread, JSTaggedValue(100)); // 100: held value
207 JSHandle<JSTaggedValue> unregisterToken = JSHandle<JSTaggedValue>::Cast(obj);
208 JSHandle<JSTaggedValue> constructor = CreateFinalizationRegistry(thread);
209 JSHandle<JSFinalizationRegistry> finaRegObj1(thread, constructor.GetTaggedValue());
210 JSHandle<JSFinalizationRegistry> finaRegObj2(thread, constructor.GetTaggedValue());
271 JSHandle<JSTaggedValue> objectFunc = env->GetObjectFunction();
272 JSHandle<JSTaggedValue> target(thread, JSTaggedValue::Undefined());
273 JSHandle<JSTaggedValue> constructor = CreateFinalizationRegistry(thread);
274 JSHandle<JSFinalizationRegistry> finaRegObj(thread, constructor.GetTaggedValue());
275 JSHandle<JSTaggedValue> finRegLists(thread, JSTaggedValue::Undefined());
279 auto obj = factory->NewJSObjectByConstructor(JSHandle<JSFunction>(objectFunc), objectFunc);
280 target = JSHandle<JSTaggedValue>::Cast(obj);
281 JSHandle<JSTaggedValue> heldValue(thread, JSTaggedValue(100));
282 JSHandle<JSTaggedValue> unregisterToken(thread, JSTaggedValue::Undefined());
287 EXPECT_EQ(finRegLists.GetTaggedValue(), JSHandle<JSTaggedValue>::Cast(finaRegObj).GetTaggedValue());
316 JSHandle<JSTaggedValue> objectFunc = env->GetObjectFunction();
317 JSHandle<JSTaggedValue> target(thread, JSTaggedValue::Undefined());
318 JSHandle<JSTaggedValue> constructor = CreateFinalizationRegistry(thread);
319 JSHandle<JSFinalizationRegistry> finaRegObj(thread, constructor.GetTaggedValue());
324 auto obj = factory->NewJSObjectByConstructor(JSHandle<JSFunction>(objectFunc), objectFunc);
325 target = JSHandle<JSTaggedValue>::Cast(obj);
326 JSHandle<JSTaggedValue> heldValue(thread, JSTaggedValue(100));
327 JSHandle<JSTaggedValue> unregisterToken(thread, JSTaggedValue::Undefined());
357 JSHandle<JSTaggedValue> objectFunc = env->GetObjectFunction();
358 JSHandle<JSTaggedValue> target(factory->NewJSObjectByConstructor(JSHandle<JSFunction>(objectFunc), objectFunc));
359 JSHandle<JSTaggedValue> key(factory->NewFromASCII("key3"));
360 JSHandle<JSTaggedValue> value(thread, JSTaggedValue(3));
362 JSHandle<JSTaggedValue> heldValue(thread, JSTaggedValue(100));
363 JSHandle<JSTaggedValue> unregisterToken(thread, JSTaggedValue::Undefined());
364 JSHandle<JSTaggedValue> constructor = CreateFinalizationRegistry(thread);
365 JSHandle<JSFinalizationRegistry> finaRegObj(thread, constructor.GetTaggedValue());
368 JSHandle<JSTaggedValue> finRegLists = env->GetFinRegLists();
369 EXPECT_EQ(finRegLists.GetTaggedValue(), JSHandle<JSTaggedValue>::Cast(finaRegObj).GetTaggedValue());