Lines Matching refs:thread

22 JSTaggedValue SlowRuntimeStub::CallSpread(JSThread *thread, JSTaggedValue func, JSTaggedValue obj,
25 INTERPRETER_TRACE(thread, CallSpread);
26 [[maybe_unused]] EcmaHandleScope handleScope(thread);
28 JSHandle<JSTaggedValue> jsFunc(thread, func);
29 JSHandle<JSTaggedValue> jsArray(thread, array);
30 JSHandle<JSTaggedValue> taggedObj(thread, obj);
31 return RuntimeStubs::RuntimeCallSpread(thread, jsFunc, taggedObj, jsArray);
34 JSTaggedValue SlowRuntimeStub::Neg(JSThread *thread, JSTaggedValue value)
36 INTERPRETER_TRACE(thread, Neg);
37 [[maybe_unused]] EcmaHandleScope handleScope(thread);
39 JSHandle<JSTaggedValue> inputTag(thread, value);
40 return RuntimeStubs::RuntimeNeg(thread, inputTag);
43 JSTaggedValue SlowRuntimeStub::AsyncFunctionEnter(JSThread *thread)
45 INTERPRETER_TRACE(thread, AsyncFunctionEnter);
46 [[maybe_unused]] EcmaHandleScope handleScope(thread);
48 return RuntimeStubs::RuntimeAsyncFunctionEnter(thread);
51 JSTaggedValue SlowRuntimeStub::ToNumber(JSThread *thread, JSTaggedValue value)
53 INTERPRETER_TRACE(thread, Tonumber);
54 [[maybe_unused]] EcmaHandleScope handleScope(thread);
56 JSHandle<JSTaggedValue> number(thread, value);
58 return RuntimeStubs::RuntimeToNumber(thread, number);
61 JSTaggedValue SlowRuntimeStub::ToNumeric(JSThread *thread, JSTaggedValue value)
63 INTERPRETER_TRACE(thread, Tonumeric);
64 [[maybe_unused]] EcmaHandleScope handleScope(thread);
66 JSHandle<JSTaggedValue> numeric(thread, value);
68 return RuntimeStubs::RuntimeToNumeric(thread, numeric);
71 JSTaggedValue SlowRuntimeStub::Not(JSThread *thread, JSTaggedValue value)
73 INTERPRETER_TRACE(thread, Not);
74 [[maybe_unused]] EcmaHandleScope handleScope(thread);
76 JSHandle<JSTaggedValue> inputTag(thread, value);
77 return RuntimeStubs::RuntimeNot(thread, inputTag);
80 JSTaggedValue SlowRuntimeStub::Inc(JSThread *thread, JSTaggedValue value)
82 INTERPRETER_TRACE(thread, Inc);
83 [[maybe_unused]] EcmaHandleScope handleScope(thread);
85 JSHandle<JSTaggedValue> inputTag(thread, value);
86 return RuntimeStubs::RuntimeInc(thread, inputTag);
89 JSTaggedValue SlowRuntimeStub::Dec(JSThread *thread, JSTaggedValue value)
91 INTERPRETER_TRACE(thread, Dec);
92 [[maybe_unused]] EcmaHandleScope handleScope(thread);
94 JSHandle<JSTaggedValue> inputTag(thread, value);
95 return RuntimeStubs::RuntimeDec(thread, inputTag);
98 void SlowRuntimeStub::Throw(JSThread *thread, JSTaggedValue value)
100 INTERPRETER_TRACE(thread, Throw);
101 RuntimeStubs::RuntimeThrow(thread, value);
104 JSTaggedValue SlowRuntimeStub::GetPropIterator(JSThread *thread, JSTaggedValue value)
106 INTERPRETER_TRACE(thread, GetPropIterator);
107 [[maybe_unused]] EcmaHandleScope handleScope(thread);
109 JSHandle<JSTaggedValue> objHandle(thread, value);
110 return RuntimeStubs::RuntimeGetPropIterator(thread, objHandle);
113 void SlowRuntimeStub::ThrowConstAssignment(JSThread *thread, JSTaggedValue value)
115 INTERPRETER_TRACE(thread, ThrowConstAssignment);
116 [[maybe_unused]] EcmaHandleScope handleScope(thread);
118 JSHandle<EcmaString> name(thread, value.GetTaggedObject());
119 return RuntimeStubs::RuntimeThrowConstAssignment(thread, name);
122 JSTaggedValue SlowRuntimeStub::Add2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
124 INTERPRETER_TRACE(thread, Add2);
125 [[maybe_unused]] EcmaHandleScope handleScope(thread);
127 JSHandle<JSTaggedValue> leftValue(thread, left);
128 JSHandle<JSTaggedValue> rightValue(thread, right);
129 return RuntimeStubs::RuntimeAdd2(thread, leftValue, rightValue);
132 JSTaggedValue SlowRuntimeStub::Sub2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
134 INTERPRETER_TRACE(thread, Sub2);
135 [[maybe_unused]] EcmaHandleScope handleScope(thread);
137 JSHandle<JSTaggedValue> leftTag(thread, left);
138 JSHandle<JSTaggedValue> rightTag(thread, right);
139 return RuntimeStubs::RuntimeSub2(thread, leftTag, rightTag);
142 JSTaggedValue SlowRuntimeStub::Mul2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
144 INTERPRETER_TRACE(thread, Mul2);
145 [[maybe_unused]] EcmaHandleScope handleScope(thread);
147 JSHandle<JSTaggedValue> leftTag(thread, left);
148 JSHandle<JSTaggedValue> rightTag(thread, right);
149 return RuntimeStubs::RuntimeMul2(thread, leftTag, rightTag);
152 JSTaggedValue SlowRuntimeStub::Div2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
154 INTERPRETER_TRACE(thread, Div2);
155 [[maybe_unused]] EcmaHandleScope handleScope(thread);
157 JSHandle<JSTaggedValue> leftTag(thread, left);
158 JSHandle<JSTaggedValue> rightTag(thread, right);
159 return RuntimeStubs::RuntimeDiv2(thread, leftTag, rightTag);
162 JSTaggedValue SlowRuntimeStub::Mod2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
164 INTERPRETER_TRACE(thread, Mod2);
165 [[maybe_unused]] EcmaHandleScope handleScope(thread);
167 JSHandle<JSTaggedValue> leftTag(thread, left);
168 JSHandle<JSTaggedValue> rightTag(thread, right);
169 return RuntimeStubs::RuntimeMod2(thread, leftTag, rightTag);
172 JSTaggedValue SlowRuntimeStub::Eq(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
174 INTERPRETER_TRACE(thread, Eq);
175 [[maybe_unused]] EcmaHandleScope handleScope(thread);
177 JSHandle<JSTaggedValue> leftValue(thread, left);
178 JSHandle<JSTaggedValue> rightValue(thread, right);
179 return RuntimeStubs::RuntimeEq(thread, leftValue, rightValue);
182 JSTaggedValue SlowRuntimeStub::NotEq(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
184 INTERPRETER_TRACE(thread, NotEq);
185 [[maybe_unused]] EcmaHandleScope handleScope(thread);
187 JSHandle<JSTaggedValue> leftValue(thread, left);
188 JSHandle<JSTaggedValue> rightValue(thread, right);
189 return RuntimeStubs::RuntimeNotEq(thread, leftValue, rightValue);
192 JSTaggedValue SlowRuntimeStub::Less(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
194 INTERPRETER_TRACE(thread, Less);
195 [[maybe_unused]] EcmaHandleScope handleScope(thread);
197 JSHandle<JSTaggedValue> leftValue(thread, left);
198 JSHandle<JSTaggedValue> rightValue(thread, right);
199 return RuntimeStubs::RuntimeLess(thread, leftValue, rightValue);
202 JSTaggedValue SlowRuntimeStub::LessEq(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
204 INTERPRETER_TRACE(thread, LessEq);
205 [[maybe_unused]] EcmaHandleScope handleScope(thread);
207 JSHandle<JSTaggedValue> leftValue(thread, left);
208 JSHandle<JSTaggedValue> rightValue(thread, right);
209 return RuntimeStubs::RuntimeLessEq(thread, leftValue, rightValue);
212 JSTaggedValue SlowRuntimeStub::Greater(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
214 INTERPRETER_TRACE(thread, Greater);
215 [[maybe_unused]] EcmaHandleScope handleScope(thread);
217 JSHandle<JSTaggedValue> leftValue(thread, left);
218 JSHandle<JSTaggedValue> rightValue(thread, right);
219 return RuntimeStubs::RuntimeGreater(thread, leftValue, rightValue);
222 JSTaggedValue SlowRuntimeStub::GreaterEq(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
224 INTERPRETER_TRACE(thread, GreaterEq);
225 [[maybe_unused]] EcmaHandleScope handleScope(thread);
227 JSHandle<JSTaggedValue> leftValue(thread, left);
228 JSHandle<JSTaggedValue> rightValue(thread, right);
229 return RuntimeStubs::RuntimeGreaterEq(thread, leftValue, rightValue);
232 JSTaggedValue SlowRuntimeStub::Shl2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
234 INTERPRETER_TRACE(thread, Shl2);
235 [[maybe_unused]] EcmaHandleScope handleScope(thread);
237 JSHandle<JSTaggedValue> leftTag(thread, left);
238 JSHandle<JSTaggedValue> rightTag(thread, right);
239 return RuntimeStubs::RuntimeShl2(thread, leftTag, rightTag);
242 JSTaggedValue SlowRuntimeStub::Shr2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
244 INTERPRETER_TRACE(thread, Shr2);
245 [[maybe_unused]] EcmaHandleScope handleScope(thread);
247 JSHandle<JSTaggedValue> leftTag(thread, left);
248 JSHandle<JSTaggedValue> rightTag(thread, right);
249 return RuntimeStubs::RuntimeShr2(thread, leftTag, rightTag);
252 JSTaggedValue SlowRuntimeStub::Ashr2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
254 INTERPRETER_TRACE(thread, Ashr2);
255 [[maybe_unused]] EcmaHandleScope handleScope(thread);
257 JSHandle<JSTaggedValue> leftTag(thread, left);
258 JSHandle<JSTaggedValue> rightTag(thread, right);
259 return RuntimeStubs::RuntimeAshr2(thread, leftTag, rightTag);
262 JSTaggedValue SlowRuntimeStub::And2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
264 INTERPRETER_TRACE(thread, And2);
265 [[maybe_unused]] EcmaHandleScope handleScope(thread);
266 JSHandle<JSTaggedValue> leftTag(thread, left);
267 JSHandle<JSTaggedValue> rightTag(thread, right);
268 return RuntimeStubs::RuntimeAnd2(thread, leftTag, rightTag);
271 JSTaggedValue SlowRuntimeStub::Or2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
273 INTERPRETER_TRACE(thread, Or2);
274 [[maybe_unused]] EcmaHandleScope handleScope(thread);
276 JSHandle<JSTaggedValue> leftTag(thread, left);
277 JSHandle<JSTaggedValue> rightTag(thread, right);
278 return RuntimeStubs::RuntimeOr2(thread, leftTag, rightTag);
281 JSTaggedValue SlowRuntimeStub::Xor2(JSThread *thread, JSTaggedValue left, JSTaggedValue right)
283 INTERPRETER_TRACE(thread, Xor2);
284 [[maybe_unused]] EcmaHandleScope handleScope(thread);
286 JSHandle<JSTaggedValue> leftTag(thread, left);
287 JSHandle<JSTaggedValue> rightTag(thread, right);
288 return RuntimeStubs::RuntimeXor2(thread, leftTag, rightTag);
291 JSTaggedValue SlowRuntimeStub::ToJSTaggedValueWithInt32(JSThread *thread, JSTaggedValue value)
293 INTERPRETER_TRACE(thread, ToJSTaggedValueWithInt32);
294 [[maybe_unused]] EcmaHandleScope handleScope(thread);
295 JSHandle<JSTaggedValue> valueHandle(thread, value);
296 return RuntimeStubs::RuntimeToJSTaggedValueWithInt32(thread, valueHandle);
299 JSTaggedValue SlowRuntimeStub::ToJSTaggedValueWithUint32(JSThread *thread, JSTaggedValue value)
301 INTERPRETER_TRACE(thread, ToJSTaggedValueWithUint32);
302 [[maybe_unused]] EcmaHandleScope handleScope(thread);
303 JSHandle<JSTaggedValue> valueHandle(thread, value);
304 return RuntimeStubs::RuntimeToJSTaggedValueWithUint32(thread, valueHandle);
307 JSTaggedValue SlowRuntimeStub::DelObjProp(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop)
309 INTERPRETER_TRACE(thread, Delobjprop);
310 [[maybe_unused]] EcmaHandleScope handleScope(thread);
312 JSHandle<JSTaggedValue> objHandle(thread, obj);
313 JSHandle<JSTaggedValue> propHandle(thread, prop);
314 return RuntimeStubs::RuntimeDelObjProp(thread, objHandle, propHandle);
317 JSTaggedValue SlowRuntimeStub::NewObjRange(JSThread *thread, JSTaggedValue func, JSTaggedValue newTarget,
320 INTERPRETER_TRACE(thread, NewobjRange);
321 [[maybe_unused]] EcmaHandleScope handleScope(thread);
323 JSHandle<JSTaggedValue> funcHandle(thread, func);
324 JSHandle<JSTaggedValue> newTargetHandle(thread, newTarget);
325 return RuntimeStubs::RuntimeNewObjRange(thread, funcHandle, newTargetHandle, firstArgIdx, length);
328 JSTaggedValue SlowRuntimeStub::CreateObjectWithExcludedKeys(JSThread *thread, uint16_t numKeys, JSTaggedValue objVal,
331 INTERPRETER_TRACE(thread, CreateObjectWithExcludedKeys);
332 [[maybe_unused]] EcmaHandleScope handleScope(thread);
334 JSHandle<JSTaggedValue> obj(thread, objVal);
335 return RuntimeStubs::RuntimeCreateObjectWithExcludedKeys(thread, numKeys, obj, firstArgRegIdx);
338 JSTaggedValue SlowRuntimeStub::Exp(JSThread *thread, JSTaggedValue base, JSTaggedValue exponent)
340 INTERPRETER_TRACE(thread, Exp);
341 [[maybe_unused]] EcmaHandleScope handleScope(thread);
343 return RuntimeStubs::RuntimeExp(thread, base, exponent);
346 JSTaggedValue SlowRuntimeStub::IsIn(JSThread *thread, JSTaggedValue prop, JSTaggedValue obj)
348 INTERPRETER_TRACE(thread, IsIn);
349 [[maybe_unused]] EcmaHandleScope handleScope(thread);
351 JSHandle<JSTaggedValue> propHandle(thread, prop);
352 JSHandle<JSTaggedValue> objHandle(thread, obj);
353 return RuntimeStubs::RuntimeIsIn(thread, propHandle, objHandle);
356 JSTaggedValue SlowRuntimeStub::Instanceof(JSThread *thread, JSTaggedValue obj, JSTaggedValue target)
358 INTERPRETER_TRACE(thread, Instanceof);
359 [[maybe_unused]] EcmaHandleScope handleScope(thread);
361 JSHandle<JSTaggedValue> objHandle(thread, obj);
362 JSHandle<JSTaggedValue> targetHandle(thread, target);
363 return RuntimeStubs::RuntimeInstanceof(thread, objHandle, targetHandle);
366 JSTaggedValue SlowRuntimeStub::InstanceofByHandler(JSThread *thread, JSTaggedValue target, JSTaggedValue object,
369 INTERPRETER_TRACE(thread, InstanceofByHandler);
370 [[maybe_unused]] EcmaHandleScope handleScope(thread);
372 JSHandle<JSTaggedValue> objectHandle(thread, object);
373 JSHandle<JSTaggedValue> targetHandle(thread, target);
374 JSHandle<JSTaggedValue> instOfHandle(thread, instOfHandler);
376 return RuntimeStubs::RuntimeInstanceofByHandler(thread, targetHandle, objectHandle, instOfHandle);
379 JSTaggedValue SlowRuntimeStub::NewLexicalEnv(JSThread *thread, uint16_t numVars)
381 INTERPRETER_TRACE(thread, Newlexenv);
382 [[maybe_unused]] EcmaHandleScope handleScope(thread);
384 return RuntimeStubs::RuntimeNewLexicalEnv(thread, numVars);
387 JSTaggedValue SlowRuntimeStub::NewSendableEnv(JSThread *thread, uint16_t numVars)
389 INTERPRETER_TRACE(thread, NewSendableEnv);
390 [[maybe_unused]] EcmaHandleScope handleScope(thread);
392 return RuntimeStubs::RuntimeNewSendableEnv(thread, numVars);
395 JSTaggedValue SlowRuntimeStub::NewLexicalEnvWithName(JSThread *thread, uint16_t numVars, uint16_t scopeId)
397 INTERPRETER_TRACE(thread, NewlexenvwithName);
398 [[maybe_unused]] EcmaHandleScope handleScope(thread);
400 return RuntimeStubs::RuntimeNewLexicalEnvWithName(thread, numVars, scopeId);
403 JSTaggedValue SlowRuntimeStub::CreateIterResultObj(JSThread *thread, JSTaggedValue value, JSTaggedValue flag)
405 INTERPRETER_TRACE(thread, CreateIterResultObj);
406 [[maybe_unused]] EcmaHandleScope handleScope(thread);
408 JSHandle<JSTaggedValue> valueHandle(thread, value);
409 return RuntimeStubs::RuntimeCreateIterResultObj(thread, valueHandle, flag);
412 JSTaggedValue SlowRuntimeStub::CreateGeneratorObj(JSThread *thread, JSTaggedValue genFunc)
414 INTERPRETER_TRACE(thread, CreateGeneratorObj);
415 [[maybe_unused]] EcmaHandleScope handleScope(thread);
417 JSHandle<JSTaggedValue> generatorFunction(thread, genFunc);
418 return RuntimeStubs::RuntimeCreateGeneratorObj(thread, generatorFunction);
421 JSTaggedValue SlowRuntimeStub::CreateAsyncGeneratorObj(JSThread *thread, JSTaggedValue genFunc)
423 INTERPRETER_TRACE(thread, CreateAsyncGeneratorObj);
424 [[maybe_unused]] EcmaHandleScope handleScope(thread);
426 JSHandle<JSTaggedValue> asyncGeneratorFunction(thread, genFunc);
427 return RuntimeStubs::RuntimeCreateAsyncGeneratorObj(thread, asyncGeneratorFunction);
430 JSTaggedValue SlowRuntimeStub::SuspendGenerator(JSThread *thread, JSTaggedValue genObj, JSTaggedValue value)
432 INTERPRETER_TRACE(thread, SuspendGenerator);
433 [[maybe_unused]] EcmaHandleScope handleScope(thread);
435 JSHandle<JSTaggedValue> genObjHandle(thread, genObj);
436 JSHandle<JSTaggedValue> valueHandle(thread, value);
437 return RuntimeStubs::RuntimeSuspendGenerator(thread, genObjHandle, valueHandle);
440 void SlowRuntimeStub::SetGeneratorState(JSThread *thread, JSTaggedValue genObj, int32_t index)
442 INTERPRETER_TRACE(thread, SetGeneratorState);
443 [[maybe_unused]] EcmaHandleScope handleScope(thread);
445 JSHandle<JSTaggedValue> genObjHandle(thread, genObj);
446 return RuntimeStubs::RuntimeSetGeneratorState(thread, genObjHandle, index);
449 JSTaggedValue SlowRuntimeStub::AsyncFunctionAwaitUncaught(JSThread *thread, JSTaggedValue asyncFuncObj,
452 INTERPRETER_TRACE(thread, AsyncFunctionAwaitUncaught);
453 [[maybe_unused]] EcmaHandleScope handleScope(thread);
454 JSHandle<JSTaggedValue> asyncFuncObjHandle(thread, asyncFuncObj);
455 JSHandle<JSTaggedValue> valueHandle(thread, value);
457 return RuntimeStubs::RuntimeAsyncFunctionAwaitUncaught(thread, asyncFuncObjHandle, valueHandle);
460 JSTaggedValue SlowRuntimeStub::AsyncFunctionResolveOrReject(JSThread *thread, JSTaggedValue asyncFuncObj,
463 INTERPRETER_TRACE(thread, AsyncFunctionResolveOrReject);
464 [[maybe_unused]] EcmaHandleScope handleScope(thread);
466 JSHandle<JSTaggedValue> asyncFuncObjHandle(thread, asyncFuncObj);
467 JSHandle<JSTaggedValue> valueHandle(thread, value);
468 return RuntimeStubs::RuntimeAsyncFunctionResolveOrReject(thread, asyncFuncObjHandle, valueHandle, is_resolve);
471 JSTaggedValue SlowRuntimeStub::NewObjApply(JSThread *thread, JSTaggedValue func, JSTaggedValue array)
473 INTERPRETER_TRACE(thread, NewObjApply);
474 [[maybe_unused]] EcmaHandleScope handleScope(thread);
476 JSHandle<JSTaggedValue> funcHandle(thread, func);
477 JSHandle<JSTaggedValue> jsArray(thread, array);
478 return RuntimeStubs::RuntimeNewObjApply(thread, funcHandle, jsArray);
481 void SlowRuntimeStub::ThrowUndefinedIfHole(JSThread *thread, JSTaggedValue obj)
483 INTERPRETER_TRACE(thread, ThrowUndefinedIfHole);
484 [[maybe_unused]] EcmaHandleScope handleScope(thread);
486 JSHandle<EcmaString> name(thread, obj);
487 return RuntimeStubs::RuntimeThrowUndefinedIfHole(thread, name);
490 JSTaggedValue SlowRuntimeStub::ThrowIfSuperNotCorrectCall(JSThread *thread, uint16_t index, JSTaggedValue thisValue)
492 INTERPRETER_TRACE(thread, ThrowIfSuperNotCorrectCall);
493 [[maybe_unused]] EcmaHandleScope handleScope(thread);
495 return RuntimeStubs::RuntimeThrowIfSuperNotCorrectCall(thread, index, thisValue);
498 void SlowRuntimeStub::ThrowIfNotObject(JSThread *thread)
500 INTERPRETER_TRACE(thread, ThrowIfNotObject);
501 [[maybe_unused]] EcmaHandleScope handleScope(thread);
503 THROW_TYPE_ERROR(thread, "Inner return result is not object");
506 void SlowRuntimeStub::ThrowThrowNotExists(JSThread *thread)
508 INTERPRETER_TRACE(thread, ThrowThrowNotExists);
509 [[maybe_unused]] EcmaHandleScope handleScope(thread);
511 return RuntimeStubs::RuntimeThrowIfNotObject(thread);
514 void SlowRuntimeStub::ThrowPatternNonCoercible(JSThread *thread)
516 INTERPRETER_TRACE(thread, ThrowPatternNonCoercible);
517 [[maybe_unused]] EcmaHandleScope handleScope(thread);
519 return RuntimeStubs::RuntimeThrowPatternNonCoercible(thread);
522 JSTaggedValue SlowRuntimeStub::StOwnByName(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop, JSTaggedValue value)
524 INTERPRETER_TRACE(thread, StOwnByName);
525 [[maybe_unused]] EcmaHandleScope handleScope(thread);
527 JSHandle<JSTaggedValue> objHandle(thread, obj);
528 JSHandle<JSTaggedValue> propHandle(thread, prop);
529 JSHandle<JSTaggedValue> valueHandle(thread, value);
530 return RuntimeStubs::RuntimeStOwnByName(thread, objHandle, propHandle, valueHandle);
533 JSTaggedValue SlowRuntimeStub::StOwnByNameWithNameSet(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop,
536 INTERPRETER_TRACE(thread, StOwnByName);
537 [[maybe_unused]] EcmaHandleScope handleScope(thread);
539 JSHandle<JSTaggedValue> objHandle(thread, obj);
540 JSHandle<JSTaggedValue> propHandle(thread, prop);
541 JSHandle<JSTaggedValue> valueHandle(thread, value);
542 return RuntimeStubs::RuntimeStOwnByNameWithNameSet(thread, objHandle, propHandle, valueHandle);
545 JSTaggedValue SlowRuntimeStub::StOwnByIndex(JSThread *thread, JSTaggedValue obj, uint32_t idx, JSTaggedValue value)
547 INTERPRETER_TRACE(thread, StOwnById);
548 [[maybe_unused]] EcmaHandleScope handleScope(thread);
550 JSHandle<JSTaggedValue> objHandle(thread, obj);
551 JSHandle<JSTaggedValue> idxHandle(thread, JSTaggedValue(idx));
552 JSHandle<JSTaggedValue> valueHandle(thread, value);
553 return RuntimeStubs::RuntimeStOwnByIndex(thread, objHandle, idxHandle, valueHandle);
556 JSTaggedValue SlowRuntimeStub::StOwnByValue(JSThread *thread, JSTaggedValue obj, JSTaggedValue key, JSTaggedValue value)
558 INTERPRETER_TRACE(thread, StOwnByValue);
559 [[maybe_unused]] EcmaHandleScope handleScope(thread);
561 JSHandle<JSTaggedValue> objHandle(thread, obj);
562 JSHandle<JSTaggedValue> keyHandle(thread, key);
563 JSHandle<JSTaggedValue> valueHandle(thread, value);
564 return RuntimeStubs::RuntimeStOwnByValue(thread, objHandle, keyHandle, valueHandle);
567 JSTaggedValue SlowRuntimeStub::StOwnByValueWithNameSet(JSThread *thread, JSTaggedValue obj, JSTaggedValue key,
570 INTERPRETER_TRACE(thread, StOwnByValue);
571 [[maybe_unused]] EcmaHandleScope handleScope(thread);
573 JSHandle<JSTaggedValue> objHandle(thread, obj);
574 JSHandle<JSTaggedValue> keyHandle(thread, key);
575 JSHandle<JSTaggedValue> valueHandle(thread, value);
576 return RuntimeStubs::RuntimeStOwnByValueWithNameSet(thread, objHandle, keyHandle, valueHandle);
579 JSTaggedValue SlowRuntimeStub::CreateEmptyArray(JSThread *thread, ObjectFactory *factory, JSHandle<GlobalEnv> globalEnv)
581 INTERPRETER_TRACE(thread, CreateEmptyArray);
582 [[maybe_unused]] EcmaHandleScope handleScope(thread);
583 return RuntimeStubs::RuntimeCreateEmptyArray(thread, factory, globalEnv);
586 JSTaggedValue SlowRuntimeStub::CreateEmptyObject(JSThread *thread, ObjectFactory *factory,
589 INTERPRETER_TRACE(thread, CreateEmptyObject);
590 [[maybe_unused]] EcmaHandleScope handleScope(thread);
592 return RuntimeStubs::RuntimeCreateEmptyObject(thread, factory, globalEnv);
595 JSTaggedValue SlowRuntimeStub::CreateObjectWithBuffer(JSThread *thread, ObjectFactory *factory, JSObject *literal)
597 INTERPRETER_TRACE(thread, CreateObjectWithBuffer);
598 [[maybe_unused]] EcmaHandleScope handleScope(thread);
600 JSHandle<JSObject> obj(thread, literal);
601 return RuntimeStubs::RuntimeCreateObjectWithBuffer(thread, factory, obj);
604 JSTaggedValue SlowRuntimeStub::CreateObjectHavingMethod(JSThread *thread, ObjectFactory *factory, JSObject *literal,
607 INTERPRETER_TRACE(thread, CreateObjectHavingMethod);
608 [[maybe_unused]] EcmaHandleScope handleScope(thread);
610 JSHandle<JSObject> obj(thread, literal);
611 JSHandle<JSTaggedValue> envi(thread, env);
612 return RuntimeStubs::RuntimeCreateObjectHavingMethod(thread, factory, obj, envi);
615 JSTaggedValue SlowRuntimeStub::SetObjectWithProto(JSThread *thread, JSTaggedValue proto, JSTaggedValue obj)
617 INTERPRETER_TRACE(thread, SetObjectWithProto);
618 [[maybe_unused]] EcmaHandleScope handleScope(thread);
620 JSHandle<JSTaggedValue> protoHandle(thread, proto);
621 JSHandle<JSObject> objHandle(thread, obj);
622 return RuntimeStubs::RuntimeSetObjectWithProto(thread, protoHandle, objHandle);
625 JSTaggedValue SlowRuntimeStub::IterNext(JSThread *thread, JSTaggedValue iter)
627 INTERPRETER_TRACE(thread, IterNext);
628 [[maybe_unused]] EcmaHandleScope handleScope(thread);
630 JSHandle<JSTaggedValue> iterHandle(thread, iter);
631 return RuntimeStubs::RuntimeIterNext(thread, iterHandle);
634 JSTaggedValue SlowRuntimeStub::CloseIterator(JSThread *thread, JSTaggedValue iter)
636 INTERPRETER_TRACE(thread, CloseIterator);
637 [[maybe_unused]] EcmaHandleScope handleScope(thread);
639 JSHandle<JSTaggedValue> iterHandle(thread, iter);
640 return RuntimeStubs::RuntimeCloseIterator(thread, iterHandle);
643 void SlowRuntimeStub::StModuleVar(JSThread *thread, int32_t index, JSTaggedValue value)
645 INTERPRETER_TRACE(thread, StModuleVar);
646 [[maybe_unused]] EcmaHandleScope scope(thread);
648 return RuntimeStubs::RuntimeStModuleVar(thread, index, value);
651 void SlowRuntimeStub::StModuleVar(JSThread *thread, JSTaggedValue key, JSTaggedValue value)
653 INTERPRETER_TRACE(thread, StModuleVar);
654 [[maybe_unused]] EcmaHandleScope scope(thread);
656 return RuntimeStubs::RuntimeStModuleVar(thread, key, value);
659 JSTaggedValue SlowRuntimeStub::LdLocalModuleVar(JSThread *thread, int32_t index)
661 RUNTIME_TRACE(thread, LdLocalModuleVarByIndex);
662 [[maybe_unused]] EcmaHandleScope scope(thread);
664 return RuntimeStubs::RuntimeLdLocalModuleVar(thread, index);
667 JSTaggedValue SlowRuntimeStub::LdExternalModuleVar(JSThread *thread, int32_t index)
669 RUNTIME_TRACE(thread, LdExternalModuleVarByIndex);
670 [[maybe_unused]] EcmaHandleScope scope(thread);
672 return RuntimeStubs::RuntimeLdExternalModuleVar(thread, index);
675 JSTaggedValue SlowRuntimeStub::LdModuleVar(JSThread *thread, JSTaggedValue key, bool inner)
677 INTERPRETER_TRACE(thread, LdModuleVar);
678 [[maybe_unused]] EcmaHandleScope scope(thread);
680 return RuntimeStubs::RuntimeLdModuleVar(thread, key, inner);
683 JSTaggedValue SlowRuntimeStub::CreateRegExpWithLiteral(JSThread *thread, JSTaggedValue pattern, uint8_t flags)
685 INTERPRETER_TRACE(thread, CreateRegExpWithLiteral);
686 [[maybe_unused]] EcmaHandleScope handleScope(thread);
688 JSHandle<JSTaggedValue> patternHandle(thread, pattern);
689 return RuntimeStubs::RuntimeCreateRegExpWithLiteral(thread, patternHandle, flags);
692 JSTaggedValue SlowRuntimeStub::CreateArrayWithBuffer(JSThread *thread, ObjectFactory *factory, JSArray *literal)
694 INTERPRETER_TRACE(thread, CreateArrayWithBuffer);
695 [[maybe_unused]] EcmaHandleScope handleScope(thread);
697 JSHandle<JSTaggedValue> array(thread, literal);
698 return RuntimeStubs::RuntimeCreateArrayWithBuffer(thread, factory, array);
701 JSTaggedValue SlowRuntimeStub::GetTemplateObject(JSThread *thread, JSTaggedValue literal)
703 INTERPRETER_TRACE(thread, GetTemplateObject);
704 [[maybe_unused]] EcmaHandleScope handleScope(thread);
706 JSHandle<JSTaggedValue> templateLiteral(thread, literal);
707 return RuntimeStubs::RuntimeGetTemplateObject(thread, templateLiteral);
710 JSTaggedValue SlowRuntimeStub::GetNextPropName(JSThread *thread, JSTaggedValue iter)
712 INTERPRETER_TRACE(thread, GetNextPropName);
713 [[maybe_unused]] EcmaHandleScope handleScope(thread);
715 JSHandle<JSTaggedValue> iterator(thread, iter);
716 return RuntimeStubs::RuntimeGetNextPropName(thread, iterator);
719 JSTaggedValue SlowRuntimeStub::CopyDataProperties(JSThread *thread, JSTaggedValue dst, JSTaggedValue src)
721 INTERPRETER_TRACE(thread, CopyDataProperties);
722 [[maybe_unused]] EcmaHandleScope handleScope(thread);
724 JSHandle<JSTaggedValue> dstHandle(thread, dst);
725 JSHandle<JSTaggedValue> srcHandle(thread, src);
726 return RuntimeStubs::RuntimeCopyDataProperties(thread, dstHandle, srcHandle);
729 JSTaggedValue SlowRuntimeStub::GetIteratorNext(JSThread *thread, JSTaggedValue obj, JSTaggedValue method)
731 RUNTIME_TRACE(thread, GetIteratorNext);
732 [[maybe_unused]] EcmaHandleScope handleScope(thread);
734 JSHandle<JSTaggedValue> iter(thread, obj);
735 JSHandle<JSTaggedValue> next(thread, method);
736 return RuntimeStubs::RuntimeGetIteratorNext(thread, iter, next);
739 JSTaggedValue SlowRuntimeStub::GetUnmapedArgs(JSThread *thread, JSTaggedType *sp, uint32_t actualNumArgs,
742 INTERPRETER_TRACE(thread, GetUnmapedArgs);
743 [[maybe_unused]] EcmaHandleScope handleScope(thread);
744 return RuntimeStubs::RuntimeGetUnmapedArgs(thread, sp, actualNumArgs, startIdx);
747 JSTaggedValue SlowRuntimeStub::CopyRestArgs(JSThread *thread, JSTaggedType *sp, uint32_t restNumArgs, uint32_t startIdx)
749 INTERPRETER_TRACE(thread, Copyrestargs);
750 [[maybe_unused]] EcmaHandleScope handleScope(thread);
751 return RuntimeStubs::RuntimeCopyRestArgs(thread, sp, restNumArgs, startIdx);
754 JSTaggedValue SlowRuntimeStub::GetIterator(JSThread *thread, JSTaggedValue obj)
756 INTERPRETER_TRACE(thread, GetIterator);
757 [[maybe_unused]] EcmaHandleScope handleScope(thread);
759 JSHandle<JSTaggedValue> objHandle(thread, obj);
760 return RuntimeStubs::RuntimeGetIterator(thread, objHandle);
763 JSTaggedValue SlowRuntimeStub::GetAsyncIterator(JSThread *thread, JSTaggedValue obj)
765 INTERPRETER_TRACE(thread, GetAsyncIterator);
766 [[maybe_unused]] EcmaHandleScope handleScope(thread);
768 JSHandle<JSTaggedValue> objHandle(thread, obj);
769 return RuntimeStubs::RuntimeGetAsyncIterator(thread, objHandle);
772 JSTaggedValue SlowRuntimeStub::DefineGetterSetterByValue(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop,
775 INTERPRETER_TRACE(thread, DefineGetterSetterByValue);
776 [[maybe_unused]] EcmaHandleScope handleScope(thread);
778 JSHandle<JSObject> objHandle(thread, obj);
779 JSHandle<JSTaggedValue> propHandle(thread, prop);
780 JSHandle<JSTaggedValue> getterHandle(thread, getter);
781 JSHandle<JSTaggedValue> setterHandle(thread, setter);
782 JSHandle<JSTaggedValue> func(thread, JSTaggedValue::Undefined());
783 return RuntimeStubs::RuntimeDefineGetterSetterByValue(thread, objHandle, propHandle,
788 JSTaggedValue SlowRuntimeStub::LdObjByIndex(JSThread *thread, JSTaggedValue obj, uint32_t idx, bool callGetter,
791 INTERPRETER_TRACE(thread, LdObjByIndex);
792 [[maybe_unused]] EcmaHandleScope handleScope(thread);
794 JSHandle<JSTaggedValue> objHandle(thread, obj);
795 return RuntimeStubs::RuntimeLdObjByIndex(thread, objHandle, idx, callGetter, receiver);
798 JSTaggedValue SlowRuntimeStub::StObjByIndex(JSThread *thread, JSTaggedValue obj, uint32_t idx, JSTaggedValue value)
800 INTERPRETER_TRACE(thread, StObjByIndex);
801 [[maybe_unused]] EcmaHandleScope handleScope(thread);
803 JSHandle<JSTaggedValue> objHandle(thread, obj);
804 JSHandle<JSTaggedValue> valueHandle(thread, value);
805 return RuntimeStubs::RuntimeStObjByIndex(thread, objHandle, idx, valueHandle);
808 JSTaggedValue SlowRuntimeStub::LdObjByName(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop, bool callGetter,
811 INTERPRETER_TRACE(thread, LdObjByName);
812 [[maybe_unused]] EcmaHandleScope handleScope(thread);
813 return RuntimeStubs::RuntimeLdObjByName(thread, obj, prop, callGetter, receiver);
816 JSTaggedValue SlowRuntimeStub::StObjByName(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop, JSTaggedValue value)
818 INTERPRETER_TRACE(thread, StObjByName);
819 [[maybe_unused]] EcmaHandleScope handleScope(thread);
821 JSHandle<JSTaggedValue> objHandle(thread, obj);
822 JSHandle<JSTaggedValue> propHandle(thread, prop);
823 JSHandle<JSTaggedValue> valueHandle(thread, value);
824 return RuntimeStubs::RuntimeStObjByName(thread, objHandle, propHandle, valueHandle);
827 JSTaggedValue SlowRuntimeStub::LdObjByValue(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop, bool callGetter,
830 INTERPRETER_TRACE(thread, LdObjByValue);
831 [[maybe_unused]] EcmaHandleScope handleScope(thread);
833 JSHandle<JSTaggedValue> objHandle(thread, obj);
834 JSHandle<JSTaggedValue> propHandle(thread, prop);
835 return RuntimeStubs::RuntimeLdObjByValue(thread, objHandle, propHandle, callGetter, receiver);
838 JSTaggedValue SlowRuntimeStub::StObjByValue(JSThread *thread, JSTaggedValue obj, JSTaggedValue prop,
841 INTERPRETER_TRACE(thread, StObjByValue);
842 [[maybe_unused]] EcmaHandleScope handleScope(thread);
844 JSHandle<JSTaggedValue> objHandle(thread, obj);
845 JSHandle<JSTaggedValue> propHandle(thread, prop);
846 JSHandle<JSTaggedValue> valueHandle(thread, value);
847 return RuntimeStubs::RuntimeStObjByValue(thread, objHandle, propHandle, valueHandle);
850 JSTaggedValue SlowRuntimeStub::TryLdGlobalByNameFromGlobalProto(JSThread *thread, JSTaggedValue global,
853 INTERPRETER_TRACE(thread, Trygetobjprop);
854 [[maybe_unused]] EcmaHandleScope handleScope(thread);
856 JSHandle<JSTaggedValue> obj(thread, global.GetTaggedObject()->GetClass()->GetPrototype());
857 JSHandle<JSTaggedValue> propHandle(thread, prop);
858 return RuntimeStubs::RuntimeTryLdGlobalByName(thread, obj, propHandle);
861 JSTaggedValue SlowRuntimeStub::TryStGlobalByName(JSThread *thread, JSTaggedValue prop)
863 INTERPRETER_TRACE(thread, TryStGlobalByName);
865 return ThrowReferenceError(thread, prop, " is not defined");
868 JSTaggedValue SlowRuntimeStub::LdGlobalVarFromGlobalProto(JSThread *thread, JSTaggedValue global, JSTaggedValue prop)
870 INTERPRETER_TRACE(thread, LdGlobalVar);
871 [[maybe_unused]] EcmaHandleScope handleScope(thread);
873 JSHandle<JSTaggedValue> objHandle(thread, global);
874 JSHandle<JSTaggedValue> propHandle(thread, prop);
875 return RuntimeStubs::RuntimeLdGlobalVarFromProto(thread, objHandle, propHandle); // After checked global itself.
878 JSTaggedValue SlowRuntimeStub::StGlobalVar(JSThread *thread, JSTaggedValue prop, JSTaggedValue value)
880 INTERPRETER_TRACE(thread, StGlobalVar);
881 [[maybe_unused]] EcmaHandleScope handleScope(thread);
883 JSHandle<JSTaggedValue> propHandle(thread, prop);
884 JSHandle<JSTaggedValue> valueHandle(thread, value);
885 return RuntimeStubs::RuntimeStGlobalVar(thread, propHandle, valueHandle);
888 JSTaggedValue SlowRuntimeStub::TryUpdateGlobalRecord(JSThread *thread, JSTaggedValue prop, JSTaggedValue value)
890 INTERPRETER_TRACE(thread, TryUpdateGlobalRecord);
891 [[maybe_unused]] EcmaHandleScope handleScope(thread);
893 return RuntimeStubs::RuntimeTryUpdateGlobalRecord(thread, prop, value);
897 JSTaggedValue SlowRuntimeStub::LdGlobalRecord(JSThread *thread, JSTaggedValue key)
899 INTERPRETER_TRACE(thread, LdGlobalRecord);
900 [[maybe_unused]] EcmaHandleScope handleScope(thread);
902 return RuntimeStubs::RuntimeLdGlobalRecord(thread, key);
905 JSTaggedValue SlowRuntimeStub::StGlobalRecord(JSThread *thread, JSTaggedValue prop, JSTaggedValue value, bool isConst)
907 INTERPRETER_TRACE(thread, StGlobalRecord);
908 [[maybe_unused]] EcmaHandleScope handleScope(thread);
910 JSHandle<JSTaggedValue> propHandle(thread, prop);
911 JSHandle<JSTaggedValue> valueHandle(thread, value);
912 return RuntimeStubs::RuntimeStGlobalRecord(thread, propHandle, valueHandle, isConst);
915 JSTaggedValue SlowRuntimeStub::ThrowReferenceError(JSThread *thread, JSTaggedValue prop, const char *desc)
917 INTERPRETER_TRACE(thread, ThrowReferenceError);
918 [[maybe_unused]] EcmaHandleScope handleScope(thread);
920 JSHandle<JSTaggedValue> propHandle(thread, prop);
921 return RuntimeStubs::RuntimeThrowReferenceError(thread, propHandle, desc);
924 JSTaggedValue SlowRuntimeStub::ThrowTypeError(JSThread *thread, const char *message)
926 INTERPRETER_TRACE(thread, ThrowTypeError);
927 [[maybe_unused]] EcmaHandleScope handleScope(thread);
929 return RuntimeStubs::RuntimeThrowTypeError(thread, message);
932 JSTaggedValue SlowRuntimeStub::ThrowSyntaxError(JSThread *thread, const char *message)
934 INTERPRETER_TRACE(thread, ThrowSyntaxError);
935 [[maybe_unused]] EcmaHandleScope handleScope(thread);
937 return RuntimeStubs::RuntimeThrowSyntaxError(thread, message);
940 JSTaggedValue SlowRuntimeStub::StArraySpread(JSThread *thread, JSTaggedValue dst, JSTaggedValue index,
943 INTERPRETER_TRACE(thread, StArraySpread);
944 [[maybe_unused]] EcmaHandleScope handleScope(thread);
946 JSHandle<JSTaggedValue> dstHandle(thread, dst);
947 JSHandle<JSTaggedValue> srcHandle(thread, src);
948 return RuntimeStubs::RuntimeStArraySpread(thread, dstHandle, index, srcHandle);
951 JSTaggedValue SlowRuntimeStub::DefineFunc(JSThread *thread, JSTaggedValue constPool, uint16_t methodId,
955 INTERPRETER_TRACE(thread, DefineFunc);
956 [[maybe_unused]] EcmaHandleScope handleScope(thread);
957 JSHandle<JSTaggedValue> constpoolHandle(thread, constPool);
958 JSHandle<JSTaggedValue> moduleHandle(thread, module);
959 JSHandle<JSTaggedValue> envHandle(thread, env);
960 JSHandle<JSTaggedValue> homeObjectHandle(thread, homeObject);
961 return RuntimeStubs::RuntimeDefinefunc(thread, constpoolHandle, methodId, moduleHandle,
965 JSTaggedValue SlowRuntimeStub::GetSuperConstructor(JSThread *thread, JSTaggedValue ctor)
967 INTERPRETER_TRACE(thread, GetSuperConstructor);
968 JSHandle<JSTaggedValue> ctorHandle(thread, ctor);
969 JSHandle<JSTaggedValue> superConstructor(thread, JSTaggedValue::GetPrototype(thread, ctorHandle));
970 RETURN_EXCEPTION_IF_ABRUPT_COMPLETION(thread);
974 JSTaggedValue SlowRuntimeStub::SuperCall(JSThread *thread, JSTaggedValue func, JSTaggedValue newTarget,
977 INTERPRETER_TRACE(thread, SuperCall);
978 [[maybe_unused]] EcmaHandleScope handleScope(thread);
980 JSHandle<JSTaggedValue> funcHandle(thread, func);
981 JSHandle<JSTaggedValue> newTargetHandle(thread, newTarget);
982 return RuntimeStubs::RuntimeSuperCall(thread, funcHandle, newTargetHandle, firstVRegIdx, length);
985 JSTaggedValue SlowRuntimeStub::DynamicImport(JSThread *thread, JSTaggedValue specifier, JSTaggedValue currentFunc)
987 INTERPRETER_TRACE(thread, DynamicImport);
988 [[maybe_unused]] EcmaHandleScope handleScope(thread);
990 JSHandle<JSTaggedValue> specifierHandle(thread, specifier);
991 JSHandle<JSTaggedValue> currentFuncHandle(thread, currentFunc);
992 return RuntimeStubs::RuntimeDynamicImport(thread, specifierHandle, currentFuncHandle);
995 JSTaggedValue SlowRuntimeStub::SuperCallSpread(JSThread *thread, JSTaggedValue func, JSTaggedValue newTarget,
998 INTERPRETER_TRACE(thread, SuperCallSpread);
999 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1001 JSHandle<JSTaggedValue> funcHandle(thread, func);
1002 JSHandle<JSTaggedValue> newTargetHandle(thread, newTarget);
1003 JSHandle<JSTaggedValue> jsArray(thread, array);
1004 return RuntimeStubs::RuntimeSuperCallSpread(thread, funcHandle, newTargetHandle, jsArray);
1007 JSTaggedValue SlowRuntimeStub::SuperCallForwardAllArgs(JSThread *thread, JSTaggedType *sp, JSTaggedValue func,
1010 JSHandle<JSTaggedValue> superFunc(thread, GetSuperConstructor(thread, func));
1011 JSHandle<JSTaggedValue> newTargetHandle(thread, newTarget);
1012 return RuntimeStubs::RuntimeSuperCallForwardAllArgs(thread, sp, superFunc, newTargetHandle, restNumArgs, startIdx);
1015 JSTaggedValue SlowRuntimeStub::DefineMethod(JSThread *thread, Method *method, JSTaggedValue homeObject,
1018 INTERPRETER_TRACE(thread, DefineMethod);
1019 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1020 JSHandle<Method> methodHandle(thread, method);
1021 JSHandle<JSTaggedValue> homeObjectHandle(thread, homeObject);
1022 JSHandle<JSTaggedValue> envHandle(thread, env);
1023 JSHandle<JSTaggedValue> moduleHandle(thread, module);
1024 return RuntimeStubs::RuntimeDefineMethod(thread, methodHandle, homeObjectHandle, length, envHandle, moduleHandle);
1027 JSTaggedValue SlowRuntimeStub::LdSendableClass(JSThread *thread, JSTaggedValue env, uint16_t level)
1029 INTERPRETER_TRACE(thread, LdSendableClass);
1030 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1031 JSHandle<JSTaggedValue> envHandle(thread, env);
1035 JSTaggedValue SlowRuntimeStub::LdSendableExternalModuleVar(JSThread *thread, int32_t index, JSTaggedValue thisFunc)
1037 RUNTIME_TRACE(thread, LdSendableExternalModuleVarByIndex);
1038 [[maybe_unused]] EcmaHandleScope scope(thread);
1040 return RuntimeStubs::RuntimeLdSendableExternalModuleVar(thread, index, thisFunc);
1043 JSTaggedValue SlowRuntimeStub::LdLazyExternalModuleVar(JSThread *thread, int32_t index, JSTaggedValue thisFunc)
1045 RUNTIME_TRACE(thread, LdLazyExternalModuleVarByIndex);
1046 [[maybe_unused]] EcmaHandleScope scope(thread);
1047 return RuntimeStubs::RuntimeLdLazyExternalModuleVar(thread, index, thisFunc);
1050 JSTaggedValue SlowRuntimeStub::LdLazySendableExternalModuleVar(JSThread *thread, int32_t index, JSTaggedValue thisFunc)
1052 RUNTIME_TRACE(thread, LdLazySendableExternalModuleVarByIndex);
1053 [[maybe_unused]] EcmaHandleScope scope(thread);
1055 return RuntimeStubs::RuntimeLdLazySendableExternalModuleVar(thread, index, thisFunc);
1058 JSTaggedValue SlowRuntimeStub::LdSuperByValue(JSThread *thread, JSTaggedValue obj, JSTaggedValue key,
1061 INTERPRETER_TRACE(thread, LdSuperByValue);
1062 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1064 JSHandle<JSTaggedValue> objHandle(thread, obj);
1065 JSHandle<JSTaggedValue> propHandle(thread, key);
1066 return RuntimeStubs::RuntimeLdSuperByValue(thread, objHandle, propHandle, thisFunc);
1069 JSTaggedValue SlowRuntimeStub::StSuperByValue(JSThread *thread, JSTaggedValue obj, JSTaggedValue key,
1072 INTERPRETER_TRACE(thread, StSuperByValue);
1073 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1075 JSHandle<JSTaggedValue> objHandle(thread, obj);
1076 JSHandle<JSTaggedValue> propHandle(thread, key);
1077 JSHandle<JSTaggedValue> valueHandle(thread, value);
1078 return RuntimeStubs::RuntimeStSuperByValue(thread, objHandle, propHandle, valueHandle, thisFunc);
1081 JSTaggedValue SlowRuntimeStub::GetCallSpreadArgs(JSThread *thread, JSTaggedValue array)
1083 INTERPRETER_TRACE(thread, GetCallSpreadArgs);
1084 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1086 JSHandle<JSTaggedValue> jsArray(thread, array);
1087 return RuntimeStubs::RuntimeGetCallSpreadArgs(thread, jsArray);
1090 void SlowRuntimeStub::ThrowDeleteSuperProperty(JSThread *thread)
1092 INTERPRETER_TRACE(thread, ThrowDeleteSuperProperty);
1093 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1095 return RuntimeStubs::RuntimeThrowDeleteSuperProperty(thread);
1098 JSTaggedValue SlowRuntimeStub::NotifyInlineCache(JSThread *thread, JSFunction *function)
1100 INTERPRETER_TRACE(thread, NotifyInlineCache);
1101 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1103 JSHandle<JSFunction> functionHandle(thread, function);
1105 return RuntimeStubs::RuntimeNotifyInlineCache(thread, functionHandle, slotSize);
1108 JSTaggedValue SlowRuntimeStub::ResolveClass(JSThread *thread, JSTaggedValue ctor, TaggedArray *literal,
1111 JSHandle<JSFunction> cls(thread, ctor);
1112 JSHandle<TaggedArray> literalBuffer(thread, literal);
1113 JSHandle<JSTaggedValue> baseHandle(thread, base);
1114 JSHandle<JSTaggedValue> lexicalEnv(thread, lexenv);
1115 return RuntimeStubs::RuntimeResolveClass(thread, cls, literalBuffer, baseHandle, lexicalEnv);
1119 JSTaggedValue SlowRuntimeStub::CloneClassFromTemplate(JSThread *thread, JSTaggedValue ctor, JSTaggedValue base,
1122 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1124 JSHandle<JSTaggedValue> lexenvHandle(thread, lexenv);
1125 JSHandle<JSTaggedValue> baseHandle(thread, base);
1126 JSHandle<JSFunction> cls(thread, ctor);
1127 return RuntimeStubs::RuntimeCloneClassFromTemplate(thread, cls, baseHandle, lexenvHandle);
1131 JSTaggedValue SlowRuntimeStub::CreateClassWithBuffer(JSThread *thread, JSTaggedValue base,
1136 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1137 JSHandle<JSTaggedValue> baseHandle(thread, base);
1138 JSHandle<JSTaggedValue> lexenvHandle(thread, lexenv);
1139 JSHandle<JSTaggedValue> constpoolHandle(thread, constpool);
1140 JSHandle<JSTaggedValue> moduleHandle(thread, module);
1141 JSHandle<JSTaggedValue> lengthHandle(thread, length);
1142 return RuntimeStubs::RuntimeCreateClassWithBuffer(thread, baseHandle, lexenvHandle,
1147 JSTaggedValue SlowRuntimeStub::CreateSharedClass(JSThread *thread, JSTaggedValue base,
1151 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1152 JSHandle<JSTaggedValue> baseHandle(thread, base);
1153 JSHandle<JSTaggedValue> constpoolHandle(thread, constpool);
1154 JSHandle<JSTaggedValue> moduleHandle(thread, module);
1155 return RuntimeStubs::RuntimeCreateSharedClass(thread, baseHandle, constpoolHandle, methodId,
1159 JSTaggedValue SlowRuntimeStub::SetClassInheritanceRelationship(JSThread *thread, JSTaggedValue ctor, JSTaggedValue base)
1161 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1163 JSHandle<JSTaggedValue> cls(thread, ctor);
1164 JSHandle<JSTaggedValue> parent(thread, base);
1165 return RuntimeStubs::RuntimeSetClassInheritanceRelationship(thread, cls, parent);
1168 JSTaggedValue SlowRuntimeStub::SetClassConstructorLength(JSThread *thread, JSTaggedValue ctor, JSTaggedValue length)
1170 return RuntimeStubs::RuntimeSetClassConstructorLength(thread, ctor, length);
1173 JSTaggedValue SlowRuntimeStub::GetModuleNamespace(JSThread *thread, int32_t index)
1175 return RuntimeStubs::RuntimeGetModuleNamespace(thread, index);
1178 JSTaggedValue SlowRuntimeStub::GetModuleNamespace(JSThread *thread, JSTaggedValue localName)
1180 return RuntimeStubs::RuntimeGetModuleNamespace(thread, localName);
1183 JSTaggedValue SlowRuntimeStub::LdBigInt(JSThread *thread, JSTaggedValue numberBigInt)
1185 INTERPRETER_TRACE(thread, LdBigInt);
1186 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1187 JSHandle<JSTaggedValue> bigint(thread, numberBigInt);
1188 return RuntimeStubs::RuntimeLdBigInt(thread, bigint);
1190 JSTaggedValue SlowRuntimeStub::AsyncGeneratorResolve(JSThread *thread, JSTaggedValue asyncFuncObj,
1193 INTERPRETER_TRACE(thread, AsyncGeneratorResolve);
1194 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1196 JSHandle<JSTaggedValue> genObjHandle(thread, asyncFuncObj);
1197 JSHandle<JSTaggedValue> valueHandle(thread, value);
1199 return RuntimeStubs::RuntimeAsyncGeneratorResolve(thread, genObjHandle, valueHandle, flag);
1202 JSTaggedValue SlowRuntimeStub::AsyncGeneratorReject(JSThread *thread, JSTaggedValue asyncFuncObj,
1205 INTERPRETER_TRACE(thread, AsyncGeneratorReject);
1206 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1208 JSHandle<JSAsyncGeneratorObject> asyncFuncObjHandle(thread, asyncFuncObj);
1209 JSHandle<JSTaggedValue> valueHandle(thread, value);
1211 return JSAsyncGeneratorObject::AsyncGeneratorReject(thread, asyncFuncObjHandle, valueHandle);
1214 JSTaggedValue SlowRuntimeStub::LdPatchVar(JSThread *thread, uint32_t index)
1216 INTERPRETER_TRACE(thread, LdPatchVar);
1217 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1219 return RuntimeStubs::RuntimeLdPatchVar(thread, index);
1222 JSTaggedValue SlowRuntimeStub::StPatchVar(JSThread *thread, uint32_t index, JSTaggedValue value)
1224 INTERPRETER_TRACE(thread, StPatchVar);
1225 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1227 JSHandle<JSTaggedValue> valueHandle(thread, value);
1228 return RuntimeStubs::RuntimeStPatchVar(thread, index, valueHandle);
1231 JSTaggedValue SlowRuntimeStub::NotifyConcurrentResult(JSThread *thread, JSTaggedValue result, JSTaggedValue hint)
1233 INTERPRETER_TRACE(thread, NotifyConcurrentResult);
1234 return RuntimeStubs::RuntimeNotifyConcurrentResult(thread, result, hint);
1237 JSTaggedValue SlowRuntimeStub::UpdateAOTHClass(JSThread *thread, JSTaggedValue jshclass,
1240 INTERPRETER_TRACE(thread, UpdateAOTHClass);
1241 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1242 JSHandle<JSHClass> oldhclass(thread, jshclass);
1243 JSHandle<JSHClass> newhclass(thread, newjshclass);
1244 return RuntimeStubs::RuntimeUpdateAOTHClass(thread, oldhclass, newhclass, key);
1247 JSTaggedValue SlowRuntimeStub::DefineField(JSThread *thread, JSTaggedValue obj,
1250 INTERPRETER_TRACE(thread, DefineField);
1251 return RuntimeStubs::RuntimeDefineField(thread, obj, propKey, value);
1254 JSTaggedValue SlowRuntimeStub::CreatePrivateProperty(JSThread *thread, JSTaggedValue lexicalEnv,
1257 INTERPRETER_TRACE(thread, CreatePrivateProperty);
1258 return RuntimeStubs::RuntimeCreatePrivateProperty(thread, lexicalEnv, count, constpool, literalId, module);
1261 JSTaggedValue SlowRuntimeStub::DefinePrivateProperty(JSThread *thread, JSTaggedValue lexicalEnv,
1264 INTERPRETER_TRACE(thread, DefinePrivateProperty);
1265 return RuntimeStubs::RuntimeDefinePrivateProperty(thread, lexicalEnv, levelIndex, slotIndex, obj, value);
1268 JSTaggedValue SlowRuntimeStub::LdPrivateProperty(JSThread *thread, JSTaggedValue lexicalEnv,
1271 INTERPRETER_TRACE(thread, LdPrivateProperty);
1272 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1273 return RuntimeStubs::RuntimeLdPrivateProperty(thread, lexicalEnv, levelIndex, slotIndex, obj);
1276 JSTaggedValue SlowRuntimeStub::StPrivateProperty(JSThread *thread, JSTaggedValue lexicalEnv,
1279 INTERPRETER_TRACE(thread, StPrivateProperty);
1280 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1281 return RuntimeStubs::RuntimeStPrivateProperty(thread, lexicalEnv, levelIndex, slotIndex, obj, value);
1284 JSTaggedValue SlowRuntimeStub::TestIn(JSThread *thread, JSTaggedValue lexicalEnv,
1287 INTERPRETER_TRACE(thread, TestIn);
1288 [[maybe_unused]] EcmaHandleScope handleScope(thread);
1289 return RuntimeStubs::RuntimeTestIn(thread, lexicalEnv, levelIndex, slotIndex, obj);