• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023-2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14coretypes:
15- managed_class: std.core.Object
16  mirror_class: ark::ets::EtsObject
17
18- managed_class: std.core.Type
19  mirror_class: ark::ets::EtsClass
20
21- managed_class: std.core.String
22  mirror_class: ark::ets::EtsString
23
24- managed_class: std.interop.js.JSValue
25  mirror_class: ark::ets::interop::js::JSValue
26
27
28intrinsics_namespace: ark::ets::interop::js::intrinsics
29
30
31####################
32# std.js.JSRuntime #
33####################
34intrinsics:
35  - name: JSRuntimeFinalizationRegistryCallback
36    space: ets
37    class_name: std.interop.js.JSRuntime
38    method_name: finalizationRegistryCallback
39    static: true
40    signature:
41      ret: void
42      args: [ std.core.Object ]
43    impl: ark::ets::interop::js::intrinsics::JSRuntimeFinalizationRegistryCallbackIntrinsic
44    clear_flags: [can_throw, heap_inv]
45
46  - name: JSRuntimeNewJSValueDouble
47    space: ets
48    class_name: std.interop.js.JSRuntime
49    method_name: newJSValueDouble
50    static: true
51    signature:
52      ret: std.interop.js.JSValue
53      args: [ f64 ]
54    impl: ark::ets::interop::js::intrinsics::JSRuntimeNewJSValueDoubleIntrinsic
55    peephole_func: PeepholeJSRuntimeNewJSValueDouble
56    clear_flags: [can_throw, heap_inv, no_dce, no_cse]
57
58  - name: JSRuntimeNewJSValueBoolean
59    space: ets
60    class_name: std.interop.js.JSRuntime
61    method_name: newJSValueBoolean
62    static: true
63    signature:
64      ret: std.interop.js.JSValue
65      args: [ u1 ]
66    impl: ark::ets::interop::js::intrinsics::JSRuntimeNewJSValueBooleanIntrinsic
67    peephole_func: PeepholeJSRuntimeNewJSValueBoolean
68    clear_flags: [can_throw, heap_inv, no_dce, no_cse]
69
70  - name: JSRuntimeNewJSValueString
71    space: ets
72    class_name: std.interop.js.JSRuntime
73    method_name: newJSValueString
74    static: true
75    signature:
76      ret: std.interop.js.JSValue
77      args: [ std.core.String ]
78    impl: ark::ets::interop::js::intrinsics::JSRuntimeNewJSValueStringIntrinsic
79    peephole_func: PeepholeJSRuntimeNewJSValueString
80    clear_flags: [can_throw, heap_inv, no_dce, no_cse]
81
82  - name: JSRuntimeNewJSValueObject
83    space: ets
84    class_name: std.interop.js.JSRuntime
85    method_name: newJSValueObject
86    static: true
87    signature:
88      ret: std.interop.js.JSValue
89      args: [ std.core.Object ]
90    impl: ark::ets::interop::js::intrinsics::JSRuntimeNewJSValueObjectIntrinsic
91    clear_flags: [can_throw, heap_inv, no_cse]
92
93  - name: JSRuntimeGetValueDouble
94    space: ets
95    class_name: std.interop.js.JSRuntime
96    method_name: getValueDouble
97    static: true
98    signature:
99      ret: f64
100      args: [ std.interop.js.JSValue ]
101    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetValueDoubleIntrinsic
102    peephole_func: PeepholeJSRuntimeGetValueDouble
103    clear_flags: [can_throw, heap_inv, no_cse]
104
105  - name: JSRuntimeGetValueBoolean
106    space: ets
107    class_name: std.interop.js.JSRuntime
108    method_name: getValueBoolean
109    static: true
110    signature:
111      ret: u1
112      args: [ std.interop.js.JSValue ]
113    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetValueBooleanIntrinsic
114    peephole_func: PeepholeJSRuntimeGetValueBoolean
115    clear_flags: [can_throw, heap_inv, no_cse]
116
117  - name: JSRuntimeGetValueString
118    space: ets
119    class_name: std.interop.js.JSRuntime
120    method_name: getValueString
121    static: true
122    signature:
123      ret: std.core.String
124      args: [ std.interop.js.JSValue ]
125    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetValueStringIntrinsic
126    peephole_func: PeepholeJSRuntimeGetValueString
127    clear_flags: [can_throw, heap_inv, no_cse]
128
129  - name: JSRuntimeGetValueObject
130    space: ets
131    class_name: std.interop.js.JSRuntime
132    method_name: getValueObject
133    static: true
134    signature:
135      ret: std.core.Object
136      # NOTE(v.cherkashin):
137      #  Replace std.core.Object by std.core.Type when issue #15273 was resolved
138      args: [ std.interop.js.JSValue, std.core.Object ] # 2nd argument is ClassClass
139    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetValueObjectIntrinsic
140    clear_flags: [can_throw, heap_inv, no_cse]
141
142  - name: JSRuntimeGetPropertyJSValue
143    space: ets
144    class_name: std.interop.js.JSRuntime
145    method_name: getPropertyJSValue
146    static: true
147    signature:
148      ret: std.interop.js.JSValue
149      args: [ std.interop.js.JSValue, std.core.String ]
150    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetPropertyJSValueIntrinsic
151    clear_flags: [can_throw, heap_inv]
152
153  - name: JSRuntimeGetPropertyDouble
154    space: ets
155    class_name: std.interop.js.JSRuntime
156    method_name: getPropertyDouble
157    static: true
158    signature:
159      ret: f64
160      args: [ std.interop.js.JSValue, std.core.String ]
161    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetPropertyDoubleIntrinsic
162    clear_flags: [can_throw, heap_inv]
163
164  - name: JSRuntimeGetPropertyString
165    space: ets
166    class_name: std.interop.js.JSRuntime
167    method_name: getPropertyString
168    static: true
169    signature:
170      ret: std.core.String
171      args: [ std.interop.js.JSValue, std.core.String ]
172    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetPropertyStringIntrinsic
173    clear_flags: [can_throw, heap_inv]
174
175  - name: JSRuntimeGetPropertyBoolean
176    space: ets
177    class_name: std.interop.js.JSRuntime
178    method_name: getPropertyBoolean
179    static: true
180    signature:
181      ret: u1
182      args: [ std.interop.js.JSValue, std.core.String ]
183    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetPropertyBooleanIntrinsic
184    clear_flags: [can_throw, heap_inv]
185
186  - name: JSRuntimeSetPropertyJSValue
187    space: ets
188    class_name: std.interop.js.JSRuntime
189    method_name: setPropertyJSValue
190    static: true
191    signature:
192      ret: void
193      args: [ std.interop.js.JSValue, std.core.String, std.interop.js.JSValue ]
194    impl: ark::ets::interop::js::intrinsics::JSRuntimeSetPropertyJSValueIntrinsic
195    clear_flags: [can_throw, heap_inv]
196
197  - name: JSRuntimeSetPropertyDouble
198    space: ets
199    class_name: std.interop.js.JSRuntime
200    method_name: setPropertyDouble
201    static: true
202    signature:
203      ret: void
204      args: [ std.interop.js.JSValue, std.core.String, f64 ]
205    impl: ark::ets::interop::js::intrinsics::JSRuntimeSetPropertyDoubleIntrinsic
206    clear_flags: [can_throw, heap_inv]
207
208  - name: JSRuntimeSetPropertyString
209    space: ets
210    class_name: std.interop.js.JSRuntime
211    method_name: setPropertyString
212    static: true
213    signature:
214      ret: void
215      args: [ std.interop.js.JSValue, std.core.String, std.core.String ]
216    impl: ark::ets::interop::js::intrinsics::JSRuntimeSetPropertyStringIntrinsic
217    clear_flags: [can_throw, heap_inv]
218
219  - name: JSRuntimeSetPropertyBoolean
220    space: ets
221    class_name: std.interop.js.JSRuntime
222    method_name: setPropertyBoolean
223    static: true
224    signature:
225      ret: void
226      args: [ std.interop.js.JSValue, std.core.String, u1 ]
227    impl: ark::ets::interop::js::intrinsics::JSRuntimeSetPropertyBooleanIntrinsic
228    clear_flags: [can_throw, heap_inv]
229
230  - name: JSRuntimeGetElementJSValue
231    space: ets
232    class_name: std.interop.js.JSRuntime
233    method_name: getElementJSValue
234    static: true
235    signature:
236      ret: std.interop.js.JSValue
237      args: [ std.interop.js.JSValue, i32 ]
238    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetElementJSValueIntrinsic
239    clear_flags: [can_throw, heap_inv]
240
241  - name: JSRuntimeGetElementDouble
242    space: ets
243    class_name: std.interop.js.JSRuntime
244    method_name: getElementDouble
245    static: true
246    signature:
247      ret: f64
248      args: [ std.interop.js.JSValue, i32 ]
249    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetElementDoubleIntrinsic
250    clear_flags: [can_throw, heap_inv]
251
252  - name: JSRuntimeGetUndefined
253    space: ets
254    class_name: std.interop.js.JSRuntime
255    method_name: getUndefined
256    static: true
257    signature:
258      ret: std.interop.js.JSValue
259      args: [ ]
260    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetUndefinedIntrinsic
261    clear_flags: [can_throw, heap_inv]
262
263  - name: JSRuntimeGetNull
264    space: ets
265    class_name: std.interop.js.JSRuntime
266    method_name: getNull
267    static: true
268    signature:
269      ret: std.interop.js.JSValue
270      args: [ ]
271    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetNullIntrinsic
272    clear_flags: [can_throw, heap_inv]
273
274  - name: JSRuntimeGetGlobal
275    space: ets
276    class_name: std.interop.js.JSRuntime
277    method_name: getGlobal
278    static: true
279    signature:
280      ret: std.interop.js.JSValue
281      args: [ ]
282    impl: ark::ets::interop::js::intrinsics::JSRuntimeGetGlobalIntrinsic
283    clear_flags: [can_throw, heap_inv]
284
285  - name: JSRuntimeCreateObject
286    space: ets
287    class_name: std.interop.js.JSRuntime
288    method_name: createObject
289    static: true
290    signature:
291      ret: std.interop.js.JSValue
292      args: [ ]
293    impl: ark::ets::interop::js::intrinsics::JSRuntimeCreateObjectIntrinsic
294    clear_flags: [can_throw, heap_inv]
295
296  - name: JSRuntimeInstanceOfDynamic
297    space: ets
298    class_name: std.interop.js.JSRuntime
299    method_name: instanceOfDynamic
300    static: true
301    signature:
302      ret: u1
303      args: [ std.interop.js.JSValue, std.interop.js.JSValue ]
304    impl: ark::ets::interop::js::intrinsics::JSRuntimeInstanceOfDynamicIntrinsic
305    clear_flags: [can_throw, heap_inv]
306
307  - name: JSRuntimeInstanceOfStatic
308    space: ets
309    class_name: std.interop.js.JSRuntime
310    method_name: instanceOfStatic
311    static: true
312    signature:
313      ret: u1
314      # NOTE(v.cherkashin):
315      #  Replace std.core.Object by std.core.Type when issue #15273 was resolved
316      args: [ std.interop.js.JSValue, std.core.Object ] # 2nd argument is ClassClass
317    impl: ark::ets::interop::js::intrinsics::JSRuntimeInstanceOfStaticIntrinsic
318    clear_flags: [can_throw, heap_inv]
319
320  - name: JSRuntimeInitJSCallClass
321    space: ets
322    class_name: std.interop.js.JSRuntime
323    method_name: __initJSCallClass
324    static: true
325    signature:
326      ret: u1
327      args: [ std.core.String ]
328    impl: ark::ets::interop::js::intrinsics::JSRuntimeInitJSCallClassIntrinsic
329    clear_flags: [can_throw, heap_inv]
330
331  - name: JSRuntimeInitJSNewClass
332    space: ets
333    class_name: std.interop.js.JSRuntime
334    method_name: __initJSNewClass
335    static: true
336    signature:
337      ret: u1
338      args: [ std.core.String ]
339    impl: ark::ets::interop::js::intrinsics::JSRuntimeInitJSNewClassIntrinsic
340    clear_flags: [can_throw, heap_inv]
341
342  - name: JSRuntimeLoadModule
343    space: ets
344    class_name: std.interop.js.JSRuntime
345    method_name: loadModule
346    static: true
347    signature:
348      ret: std.interop.js.JSValue
349      args: [ std.core.String ]
350    impl: ark::ets::interop::js::intrinsics::JSRuntimeLoadModuleIntrinsic
351    clear_flags: [can_throw, heap_inv]
352
353  - name: JSRuntimeStrictEqual
354    space: ets
355    class_name: std.interop.js.JSRuntime
356    method_name: strictEqual
357    static: true
358    signature:
359      ret: u1
360      args: [ std.interop.js.JSValue, std.interop.js.JSValue ]
361    impl: ark::ets::interop::js::intrinsics::JSRuntimeStrictEqualIntrinsic
362    clear_flags: [can_throw, heap_inv]
363
364####################
365# std.js.JSValue #
366####################
367  - name: JSValueToString
368    space: ets
369    class_name: std.interop.js.JSValue
370    method_name: toString
371    static: false
372    signature:
373      ret: std.core.String
374      args: [ ]
375    impl: ark::ets::interop::js::intrinsics::JSValueToStringIntrinsic
376    clear_flags: [ ]
377
378#######################
379# JSON instrinsics #
380#######################
381
382  - name: JSONStringify
383    space: ets
384    class_name: escompat.JSON
385    method_name: stringify
386    static: true
387    signature:
388      ret: std.core.String
389      args: [ std.interop.js.JSValue ]
390    impl: ark::ets::interop::js::intrinsics::JSONStringifyIntrinsic
391    clear_flags: [can_throw]
392
393#######################
394# Internal intrinsics #
395#######################
396  - name: CompilerGetJSNamedProperty
397    space: ets
398    compiler_only: true
399    signature:
400      ret: ptr
401      args: [ptr, ptr]
402    impl: ark::ets::interop::js::intrinsics::CompilerGetJSNamedPropertyIntrinsic
403    interop_intrinsic_kind: creates_local
404    clear_flags: [can_throw, heap_inv]
405
406  - name: CompilerGetJSProperty
407    space: ets
408    compiler_only: true
409    signature:
410      ret: ptr
411      args: [ptr, ptr]
412    impl: ark::ets::interop::js::intrinsics::CompilerGetJSPropertyIntrinsic
413    interop_intrinsic_kind: creates_local
414    clear_flags: [ ]
415
416  - name: CompilerGetJSElement
417    space: ets
418    compiler_only: true
419    signature:
420      ret: ptr
421      args: [ptr, i32]
422    impl: ark::ets::interop::js::intrinsics::CompilerGetJSElementIntrinsic
423    interop_intrinsic_kind: creates_local
424    clear_flags: [can_throw, heap_inv]
425
426  # Not implemented, must be removed before codegen
427  - name: CompilerResolveQualifiedJSCall
428    space: ets
429    compiler_only: true
430    signature:
431      ret: ptr
432      args: [ptr, u32, u32, u32]
433    interop_intrinsic_kind: creates_local
434    peephole_func: PeepholeResolveQualifiedJSCall
435    clear_flags: [ no_dce ]
436
437  # Not implemented, must be removed before codegen
438  - name: CompilerLoadResolvedJSFunction
439    space: ets
440    compiler_only: true
441    signature:
442      ret: ptr
443      args: [ptr]
444    interop_intrinsic_kind: creates_local
445    clear_flags: [ no_dce ]
446
447  - name: CompilerJSCallCheck
448    space: ets
449    compiler_only: true
450    signature:
451      ret: ptr
452      args: [ptr]
453    impl: ark::ets::interop::js::intrinsics::CompilerJSCallCheckIntrinsic
454    interop_intrinsic_kind: need_scope
455    clear_flags: [can_throw, heap_inv]
456
457  - name: CompilerJSCallFunction
458    space: ets
459    compiler_only: true
460    signature:
461      ret: ptr
462      args: [ptr, ptr, u32]
463      stackrange: true
464    impl: ark::ets::interop::js::intrinsics::CompilerJSCallFunctionIntrinsic
465    interop_intrinsic_kind: creates_local
466    clear_flags: [can_throw, heap_inv]
467
468  - name: CompilerJSCallVoidFunction
469    space: ets
470    compiler_only: true
471    signature:
472      ret: void
473      args: [ptr, ptr, u32]
474      stackrange: true
475    impl: ark::ets::interop::js::intrinsics::CompilerJSCallVoidFunctionIntrinsic
476    interop_intrinsic_kind: need_scope
477    clear_flags: [can_throw, heap_inv]
478
479  - name: CompilerJSNewInstance
480    space: ets
481    compiler_only: true
482    signature:
483      ret: ptr
484      args: [ptr, u32]
485      stackrange: true
486    impl: ark::ets::interop::js::intrinsics::CompilerJSNewInstanceIntrinsic
487    interop_intrinsic_kind: creates_local
488    clear_flags: [can_throw, heap_inv]
489
490  - name: CompilerCreateLocalScope
491    space: ets
492    compiler_only: true
493    signature:
494      ret: void
495      args: [ ]
496    impl: ark::ets::interop::js::intrinsics::CompilerCreateLocalScopeIntrinsic
497    clear_flags: [can_throw, heap_inv]
498
499  - name: CompilerDestroyLocalScope
500    space: ets
501    compiler_only: true
502    signature:
503      ret: void
504      args: [ ]
505    impl: ark::ets::interop::js::intrinsics::CompilerDestroyLocalScopeIntrinsic
506    clear_flags: [can_throw, heap_inv]
507
508  - name: CompilerLoadJSConstantPool
509    space: ets
510    compiler_only: true
511    signature:
512      ret: ptr
513      args: []
514    impl: ark::ets::interop::js::intrinsics::CompilerLoadJSConstantPoolIntrinsic
515    interop_intrinsic_kind: creates_local
516    clear_flags: [no_dce ]
517
518  - name: CompilerInitJSCallClassForCtx
519    space: ets
520    compiler_only: true
521    signature:
522      ret: void
523      args: [ ptr ] # LoadAndInitClass inst
524    impl: ark::ets::interop::js::intrinsics::CompilerInitJSCallClassForCtxIntrinsic
525    clear_flags: [ no_cse, no_hoist ]
526
527########################################################
528# Internal intrinsics, convert ets value to napi_value #
529########################################################
530  - name: CompilerConvertVoidToLocal
531    space: ets
532    compiler_only: true
533    signature:
534      ret: ptr
535      args: []
536    impl: ark::ets::interop::js::intrinsics::CompilerConvertVoidToLocalIntrinsic
537    interop_intrinsic_kind: wrap
538    clear_flags: [no_dce, can_throw, heap_inv]
539
540  - name: CompilerConvertU1ToLocal
541    space: ets
542    compiler_only: true
543    signature:
544      ret: ptr
545      args: [u1]
546    impl: ark::ets::interop::js::intrinsics::CompilerConvertU1ToLocalIntrinsic
547    interop_intrinsic_kind: wrap
548    clear_flags: [no_dce, can_throw, heap_inv]
549
550  - name: CompilerConvertU8ToLocal
551    space: ets
552    compiler_only: true
553    signature:
554      ret: ptr
555      args: [u8]
556    impl: ark::ets::interop::js::intrinsics::CompilerConvertU8ToLocalIntrinsic
557    interop_intrinsic_kind: wrap
558    clear_flags: [no_dce, can_throw, heap_inv]
559
560  - name: CompilerConvertI8ToLocal
561    space: ets
562    compiler_only: true
563    signature:
564      ret: ptr
565      args: [i8]
566    impl: ark::ets::interop::js::intrinsics::CompilerConvertI8ToLocalIntrinsic
567    interop_intrinsic_kind: wrap
568    clear_flags: [no_dce, can_throw, heap_inv]
569
570  - name: CompilerConvertU16ToLocal
571    space: ets
572    compiler_only: true
573    signature:
574      ret: ptr
575      args: [u16]
576    impl: ark::ets::interop::js::intrinsics::CompilerConvertU16ToLocalIntrinsic
577    interop_intrinsic_kind: wrap
578    clear_flags: [no_dce, can_throw, heap_inv]
579
580  - name: CompilerConvertI16ToLocal
581    space: ets
582    compiler_only: true
583    signature:
584      ret: ptr
585      args: [i16]
586    impl: ark::ets::interop::js::intrinsics::CompilerConvertI16ToLocalIntrinsic
587    interop_intrinsic_kind: wrap
588    clear_flags: [no_dce, can_throw, heap_inv]
589
590  - name: CompilerConvertU32ToLocal
591    space: ets
592    compiler_only: true
593    signature:
594      ret: ptr
595      args: [u32]
596    impl: ark::ets::interop::js::intrinsics::CompilerConvertU32ToLocalIntrinsic
597    interop_intrinsic_kind: wrap
598    clear_flags: [no_dce, can_throw, heap_inv]
599
600  - name: CompilerConvertI32ToLocal
601    space: ets
602    compiler_only: true
603    signature:
604      ret: ptr
605      args: [i32]
606    impl: ark::ets::interop::js::intrinsics::CompilerConvertI32ToLocalIntrinsic
607    interop_intrinsic_kind: wrap
608    clear_flags: [no_dce, can_throw, heap_inv]
609
610  - name: CompilerConvertU64ToLocal
611    space: ets
612    compiler_only: true
613    signature:
614      ret: ptr
615      args: [u64]
616    impl: ark::ets::interop::js::intrinsics::CompilerConvertU64ToLocalIntrinsic
617    interop_intrinsic_kind: wrap
618    clear_flags: [no_dce, can_throw, heap_inv]
619
620  - name: CompilerConvertI64ToLocal
621    space: ets
622    compiler_only: true
623    signature:
624      ret: ptr
625      args: [i64]
626    impl: ark::ets::interop::js::intrinsics::CompilerConvertI64ToLocalIntrinsic
627    interop_intrinsic_kind: wrap
628    clear_flags: [no_dce, can_throw, heap_inv]
629
630  - name: CompilerConvertF32ToLocal
631    space: ets
632    compiler_only: true
633    signature:
634      ret: ptr
635      args: [f32]
636    impl: ark::ets::interop::js::intrinsics::CompilerConvertF32ToLocalIntrinsic
637    interop_intrinsic_kind: wrap
638    clear_flags: [no_dce, can_throw, heap_inv]
639
640  - name: CompilerConvertF64ToLocal
641    space: ets
642    compiler_only: true
643    signature:
644      ret: ptr
645      args: [f64]
646    impl: ark::ets::interop::js::intrinsics::CompilerConvertF64ToLocalIntrinsic
647    interop_intrinsic_kind: wrap
648    clear_flags: [no_dce, can_throw, heap_inv]
649
650  - name: CompilerConvertRefTypeToLocal
651    space: ets
652    compiler_only: true
653    signature:
654      ret: ptr
655      args: [std.core.Object]
656    impl: ark::ets::interop::js::intrinsics::CompilerConvertRefTypeToLocalIntrinsic
657    interop_intrinsic_kind: wrap
658    clear_flags: [no_dce, can_throw, heap_inv]
659
660  - name: CompilerConvertJSValueToLocal
661    space: ets
662    compiler_only: true
663    signature:
664      ret: ptr
665      args: [std.interop.js.JSValue]
666    impl: ark::ets::interop::js::intrinsics::CompilerConvertJSValueToLocalIntrinsic
667    interop_intrinsic_kind: wrap
668    clear_flags: [no_dce, can_throw, heap_inv]
669
670########################################################
671# Internal intrinsics, convert napi_value to ets value #
672########################################################
673  - name: CompilerConvertLocalToU1
674    space: ets
675    compiler_only: true
676    signature:
677      ret: u1
678      args: [ptr]
679    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToU1Intrinsic
680    interop_intrinsic_kind: unwrap
681    clear_flags: [heap_inv]
682
683  - name: CompilerConvertLocalToU8
684    space: ets
685    compiler_only: true
686    signature:
687      ret: u8
688      args: [ptr]
689    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToU8Intrinsic
690    interop_intrinsic_kind: unwrap
691    clear_flags: [heap_inv]
692
693  - name: CompilerConvertLocalToI8
694    space: ets
695    compiler_only: true
696    signature:
697      ret: i8
698      args: [ptr]
699    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToI8Intrinsic
700    interop_intrinsic_kind: unwrap
701    clear_flags: [heap_inv]
702
703  - name: CompilerConvertLocalToU16
704    space: ets
705    compiler_only: true
706    signature:
707      ret: u16
708      args: [ptr]
709    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToU16Intrinsic
710    interop_intrinsic_kind: unwrap
711    clear_flags: [heap_inv]
712
713  - name: CompilerConvertLocalToI16
714    space: ets
715    compiler_only: true
716    signature:
717      ret: i16
718      args: [ptr]
719    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToI16Intrinsic
720    interop_intrinsic_kind: unwrap
721    clear_flags: [heap_inv]
722
723  - name: CompilerConvertLocalToU32
724    space: ets
725    compiler_only: true
726    signature:
727      ret: u32
728      args: [ptr]
729    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToU32Intrinsic
730    interop_intrinsic_kind: unwrap
731    clear_flags: [heap_inv]
732
733  - name: CompilerConvertLocalToI32
734    space: ets
735    compiler_only: true
736    signature:
737      ret: i32
738      args: [ptr]
739    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToI32Intrinsic
740    interop_intrinsic_kind: unwrap
741    clear_flags: [heap_inv]
742
743  - name: CompilerConvertLocalToU64
744    space: ets
745    compiler_only: true
746    signature:
747      ret: u64
748      args: [ptr]
749    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToU64Intrinsic
750    interop_intrinsic_kind: unwrap
751    clear_flags: [heap_inv]
752
753  - name: CompilerConvertLocalToI64
754    space: ets
755    compiler_only: true
756    signature:
757      ret: i64
758      args: [ptr]
759    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToI64Intrinsic
760    interop_intrinsic_kind: unwrap
761    clear_flags: [heap_inv]
762
763  - name: CompilerConvertLocalToF32
764    space: ets
765    compiler_only: true
766    signature:
767      ret: f32
768      args: [ptr]
769    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToF32Intrinsic
770    interop_intrinsic_kind: unwrap
771    clear_flags: [heap_inv]
772
773  - name: CompilerConvertLocalToF64
774    space: ets
775    compiler_only: true
776    signature:
777      ret: f64
778      args: [ptr]
779    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToF64Intrinsic
780    interop_intrinsic_kind: unwrap
781    clear_flags: [heap_inv]
782
783  - name: CompilerConvertLocalToJSValue
784    space: ets
785    compiler_only: true
786    signature:
787      ret: std.interop.js.JSValue
788      args: [ptr]
789    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToJSValueIntrinsic
790    interop_intrinsic_kind: unwrap
791    clear_flags: [no_dce, can_throw, heap_inv]
792
793  - name: CompilerConvertLocalToString
794    space: ets
795    compiler_only: true
796    signature:
797      ret: std.core.String
798      args: [ptr]
799    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToStringIntrinsic
800    interop_intrinsic_kind: unwrap
801    clear_flags: [heap_inv]
802
803  - name: CompilerConvertLocalToRefType
804    space: ets
805    compiler_only: true
806    signature:
807      ret: std.core.Object
808      args: [ptr, ptr]
809    impl: ark::ets::interop::js::intrinsics::CompilerConvertLocalToRefTypeIntrinsic
810    interop_intrinsic_kind: unwrap
811    clear_flags: [heap_inv]
812
813###########################
814# std.core.PromiseInterop #
815###########################
816  - name: PromiseInteropResolve
817    space: ets
818    class_name: std.interop.js.PromiseInterop
819    method_name: resolve
820    static: true
821    signature:
822      ret: void
823      args: [std.core.Object, i64]
824    impl: ark::ets::interop::js::intrinsics::PromiseInteropResolveIntrinsic
825    clear_flags: [can_throw]
826
827  - name: PromiseInteropReject
828    space: ets
829    class_name: std.interop.js.PromiseInterop
830    method_name: reject
831    static: true
832    signature:
833      ret: void
834      args: [std.core.Object, i64]
835    impl: ark::ets::interop::js::intrinsics::PromiseInteropRejectIntrinsic
836    clear_flags: [can_throw]
837