• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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#
14# This file describes copmiler-to-runtime entrypoints.
15# Fields:
16#  * properties:
17#    - no_return: entrypoint doesn't jump back to the caller.
18#    - external: don't generate entrypoint and bridge declarations, initialize table's element by nullptr.
19#    - irtoc: entrypoint is generated by irtoc tool
20#    - intrinsic: this is call of intrinsic wrapped in entrypoint bridge
21#  * signature: signature of the entrypoint, the first element is the return value, the rest are arguments.
22#  * entrypoint: entrypoint function name.
23
24entrypoints:
25- name: Deoptimize
26  entrypoint: DeoptimizeEntrypoint
27  bridge: entrypoint
28  properties: [no_return]
29  signature:
30  - void
31  - uint64_t
32
33- name: AbstractMethodError
34  entrypoint: AbstractMethodErrorEntrypoint
35  bridge: entrypoint
36  properties: [no_return]
37  signature:
38  - void
39  - ark::Method*
40
41- name: AnnotateSanitizers
42  entrypoint: AnnotateSanitizersEntrypoint
43  bridge: entrypoint
44  properties: []
45  signature:
46  - void
47  - void const*
48  - size_t
49
50- name: AnnotateSanitizersNoBridge
51  entrypoint: AnnotateSanitizersEntrypoint
52  bridge: none
53  properties: []
54  signature:
55  - void
56  - void const*
57  - size_t
58
59- name: CheckCast
60  entrypoint: CheckCastEntrypoint
61  bridge: entrypoint
62  properties: []
63  signature:
64  - void
65  - const ark::ObjectHeader*
66  - ark::Class*
67
68- name: CheckCastSlowPath
69  entrypoint: CheckCastEntrypoint
70  bridge: slow_path
71  properties: []
72  signature:
73  - void
74  - const ark::ObjectHeader*
75  - ark::Class*
76
77- name: CheckCastDeoptimize
78  entrypoint: CheckCastDeoptimizeEntrypoint
79  bridge: entrypoint
80  properties: []
81  signature:
82  - void
83  - const ark::ObjectHeader*
84  - ark::Class*
85
86- name: CheckCastInterface
87  entrypoint: CheckCastInterfaceEntrypoint
88  bridge: none
89  properties: [irtoc]
90  signature:
91  - void
92  - const ark::ObjectHeader*
93  - ark::Class*
94
95- name: CheckStoreArrayReference
96  entrypoint: CheckStoreArrayReferenceEntrypoint
97  bridge: entrypoint
98  properties: []
99  signature:
100  - void
101  - ark::coretypes::Array*
102  - ark::ObjectHeader*
103
104- name: CheckStoreArrayReferenceDeoptimize
105  entrypoint: CheckStoreArrayReferenceDeoptimizeEntrypoint
106  bridge: entrypoint
107  properties: []
108  signature:
109  - void
110  - ark::coretypes::Array*
111  - ark::ObjectHeader*
112
113- name: ArithmeticException
114  entrypoint: ArithmeticExceptionEntrypoint
115  bridge: entrypoint
116  properties: [no_return]
117  signature:
118  - void
119
120- name: ArrayIndexOutOfBoundsException
121  entrypoint: ArrayIndexOutOfBoundsExceptionEntrypoint
122  bridge: entrypoint
123  properties: [no_return]
124  signature:
125  - void
126  - ssize_t
127  - size_t
128
129- name: StringIndexOutOfBoundsException
130  entrypoint: StringIndexOutOfBoundsExceptionEntrypoint
131  bridge: entrypoint
132  properties: [no_return]
133  signature:
134  - void
135  - ssize_t
136  - size_t
137
138- name: ClassCastException
139  entrypoint: ClassCastExceptionEntrypoint
140  bridge: entrypoint
141  properties: [no_return]
142  signature:
143  - void
144  - ark::Class*
145  - ark::ObjectHeader*
146
147- name: NegativeArraySizeException
148  entrypoint: NegativeArraySizeExceptionEntrypoint
149  bridge: entrypoint
150  properties: [no_return]
151  signature:
152  - void
153  - ssize_t
154
155- name: NullPointerException
156  entrypoint: NullPointerExceptionEntrypoint
157  bridge: entrypoint
158  properties: [no_return]
159  signature:
160  - void
161
162- name: StackOverflowException
163  entrypoint: StackOverflowExceptionEntrypoint
164  bridge: entrypoint
165  properties: [no_return]
166  signature:
167  - void
168
169- name: ThrowException
170  entrypoint: ThrowExceptionEntrypoint
171  bridge: entrypoint
172  properties: [no_return]
173  signature:
174  - void
175  - ark::ObjectHeader*
176
177- name: ThrowNativeException
178  entrypoint: ThrowNativeExceptionEntrypoint
179  bridge: entrypoint
180  properties: [no_return]
181  signature:
182  - void
183
184- name: CreateEmptyString
185  entrypoint: CreateEmptyStringEntrypoint
186  bridge: entrypoint
187  properties: []
188  signature:
189  - ark::coretypes::String*
190
191- name: CreateEmptyStringSlowPath
192  entrypoint: CreateEmptyStringEntrypoint
193  bridge: slow_path
194  properties: []
195  signature:
196  - ark::coretypes::String*
197
198- name: CreateEmptyString1Arg
199  entrypoint: CreateEmptyStringEntrypoint
200  bridge: odd_saved1
201  properties: []
202  signature:
203  - ark::coretypes::String*
204
205- name: CreateStringFromChars
206  entrypoint: CreateStringFromCharsEntrypoint
207  bridge: entrypoint
208  properties: []
209  signature:
210  - ark::coretypes::String*
211  - ark::ObjectHeader*
212
213- name: CreateStringFromString
214  entrypoint: CreateStringFromStringEntrypoint
215  bridge: entrypoint
216  properties: []
217  signature:
218  - ark::coretypes::String*
219  - ark::ObjectHeader*
220
221- name: CreateMultiArray
222  entrypoint: CreateMultiArrayEntrypoint
223  bridge: entrypoint
224  properties: []
225  signature:
226  - ark::coretypes::Array*
227  - ark::Class*
228  - uint32_t
229  - size_t*
230
231- name: ResolveLiteralArray
232  entrypoint: ResolveLiteralArrayEntrypoint
233  bridge: entrypoint
234  properties: []
235  signature:
236  - ark::coretypes::Array*
237  - const ark::Method*
238  - uint32_t
239
240- name: CreateObjectByClass
241  entrypoint: CreateObjectByClassEntrypoint
242  bridge: entrypoint
243  properties: []
244  signature:
245  - ark::ObjectHeader*
246  - ark::Class*
247
248- name: CloneObject
249  entrypoint: CloneObjectEntrypoint
250  bridge: entrypoint
251  properties: []
252  signature:
253  - ark::ObjectHeader*
254  - ark::ObjectHeader*
255
256- name: PostBarrierWrite
257  entrypoint: PostBarrierWriteEntrypoint
258  bridge: entrypoint
259  properties: []
260  signature:
261  - ark::ObjectHeader*
262  - ark::ObjectHeader*
263  - size_t
264
265- name: Safepoint
266  entrypoint: SafepointEntrypoint
267  bridge: entrypoint
268  properties: []
269  signature:
270  - void
271
272- name: GetCalleeMethod
273  entrypoint: GetCalleeMethodEntrypoint
274  bridge: entrypoint
275  properties: []
276  signature:
277  - ark::Method*
278  - const ark::Method*
279  - size_t
280
281- name: GetCalleeMethodDirect
282  entrypoint: GetCalleeMethodEntrypoint
283  bridge: none
284  properties: []
285  signature:
286  - ark::Method*
287  - const ark::Method*
288  - size_t
289
290- name: GetUnknownCalleeMethod
291  entrypoint: GetUnknownCalleeMethodEntrypoint
292  bridge: entrypoint
293  properties: []
294  signature:
295  - ark::Method*
296  - const ark::Method*
297  - size_t
298  - size_t*
299
300- name: GetFieldOffset
301  entrypoint: GetFieldOffsetEntrypoint
302  bridge: entrypoint
303  properties: []
304  signature:
305  - size_t
306  - ark::Method*
307  - uint32_t
308
309- name: GetStaticFieldAddress
310  entrypoint: GetStaticFieldAddressEntrypoint
311  bridge: entrypoint
312  properties: []
313  signature:
314  - uintptr_t
315  - ark::Method*
316  - uint32_t
317
318- name: UnresolvedStoreStaticBarriered
319  entrypoint: UnresolvedStoreStaticBarrieredEntrypoint
320  bridge: entrypoint
321  properties: []
322  signature:
323  - void
324  - ark::Method*
325  - uint32_t
326  - ark::ObjectHeader*
327
328- name: GetUnknownStaticFieldMemoryAddress
329  entrypoint: GetUnknownStaticFieldMemoryAddressEntrypoint
330  bridge: entrypoint
331  properties: []
332  signature:
333  - uintptr_t
334  - ark::Method*
335  - uint32_t
336  - size_t*
337
338- name: InitializeClass
339  entrypoint: InitializeClassEntrypoint
340  bridge: entrypoint
341  properties: []
342  signature:
343  - void
344  - ark::Class*
345
346- name: InitializeClassById
347  entrypoint: InitializeClassByIdEntrypoint
348  bridge: entrypoint
349  properties: []
350  signature:
351  - ark::Class*
352  - const ark::Method*
353  - ark::FileEntityId
354
355- name: InitializeClassByIdDirect
356  entrypoint: InitializeClassByIdEntrypoint
357  bridge: none
358  properties: []
359  signature:
360  - ark::Class*
361  - const ark::Method*
362  - ark::FileEntityId
363
364- name: IsInstance
365  entrypoint: IsInstanceEntrypoint
366  bridge: entrypoint
367  properties: []
368  signature:
369  - uint8_t
370  - ark::ObjectHeader*
371  - ark::Class*
372
373- name: PostWrbUpdateCardFuncNoBridge
374  entrypoint: PostWrbUpdateCardFuncEntrypoint
375  bridge: none
376  properties: []
377  signature:
378  - void
379  - const void*
380  - const void*
381
382- name: ResolveClass
383  entrypoint: ResolveClassEntrypoint
384  bridge: entrypoint
385  properties: []
386  signature:
387  - ark::Class*
388  - const ark::Method*
389  - ark::FileEntityId
390
391- name: ResolveClassDirect
392  entrypoint: ResolveClassEntrypoint
393  bridge: none
394  properties: []
395  signature:
396  - ark::Class*
397  - const ark::Method*
398  - ark::FileEntityId
399
400- name: ResolveClassObject
401  entrypoint: ResolveClassObjectEntrypoint
402  bridge: entrypoint
403  properties: []
404  signature:
405  - ark::ObjectHeader*
406  - const ark::Method*
407  - ark::FileEntityId
408
409- name: ResolveString
410  entrypoint: ResolveStringEntrypoint
411  bridge: entrypoint
412  properties: []
413  signature:
414  - ark::coretypes::String*
415  - const ark::Method*
416  - ark::FileEntityId
417
418- name: ResolveStringAot
419  entrypoint: ResolveStringAotEntrypoint
420  bridge: entrypoint
421  properties: []
422  signature:
423  - ark::coretypes::String*
424  - const ark::Method*
425  - ark::FileEntityId
426  - ark::ObjectHeader**
427
428- name: ResolveUnknownVirtualCall
429  entrypoint: ResolveUnknownVirtualCallEntrypoint
430  bridge: entrypoint
431  properties: []
432  signature:
433  - uintptr_t
434  - const ark::Method*
435  - ark::ObjectHeader*
436  - size_t
437  - size_t*
438
439- name: ResolveVirtualCallAot
440  entrypoint: ResolveVirtualCallAotEntrypoint
441  bridge: entrypoint
442  properties: []
443  signature:
444  - uintptr_t
445  - const ark::Method*
446  - ark::ObjectHeader*
447  - size_t
448  - uintptr_t
449
450- name: ResolveVirtualCallAotSlowPath
451  entrypoint: ResolveVirtualCallAotEntrypoint
452  bridge: slow_path
453  properties: []
454  signature:
455  - uintptr_t
456  - const ark::Method*
457  - ark::ObjectHeader*
458  - size_t
459  - uintptr_t
460
461- name: ResolveVirtualCall
462  entrypoint: ResolveVirtualCallEntrypoint
463  bridge: entrypoint
464  properties: []
465  signature:
466  - uintptr_t
467  - const ark::Method*
468  - ark::ObjectHeader*
469
470- name: Trace
471  entrypoint: TraceEntrypoint
472  bridge: entrypoint
473  properties: []
474  signature:
475  - void
476  - size_t pid
477  - ...
478
479- name: WriteTlabStats
480  entrypoint: WriteTlabStatsEntrypoint
481  bridge: entrypoint
482  properties: []
483  signature:
484  - void
485  - void const*
486  - size_t
487
488- name: WriteTlabStatsNoBridge
489  entrypoint: WriteTlabStatsEntrypoint
490  bridge: none
491  properties: []
492  signature:
493  - void
494  - void const*
495  - size_t
496
497- name: LockObject
498  entrypoint: LockObjectEntrypoint
499  bridge: entrypoint
500  properties: []
501  signature:
502  - void
503  - ark::ObjectHeader*
504
505- name: UnlockObject
506  entrypoint: UnlockObjectEntrypoint
507  bridge: entrypoint
508  properties: []
509  signature:
510  - void
511  - ark::ObjectHeader*
512
513- name: IncompatibleClassChangeErrorForMethodConflict
514  entrypoint: IncompatibleClassChangeErrorForMethodConflictEntrypoint
515  bridge: none
516  properties: [no_return]
517  signature:
518  - void
519  - ark::Method*
520
521- name: AllocateObjectTlab
522  entrypoint: AllocateObjectTlab
523  bridge: none
524  properties: [irtoc]
525  signature:
526  - ark::ObjectHeader*
527  - ark::Class*
528  - size_t
529
530- name: CreateObjectByClassSlowPath
531  entrypoint: CreateObjectByClassEntrypoint
532  bridge: slow_path
533  properties: []
534  signature:
535  - ark::ObjectHeader*
536  - ark::Class*
537
538- name: AllocateArrayTlab8
539  entrypoint: AllocateArrayTlab8
540  bridge: none
541  properties: [irtoc]
542  signature:
543    - ark::coretypes::Array*
544    - ark::Class*
545    - size_t
546
547- name: AllocateArrayTlab16
548  entrypoint: AllocateArrayTlab16
549  bridge: none
550  properties: [irtoc]
551  signature:
552    - ark::coretypes::Array*
553    - ark::Class*
554    - size_t
555
556- name: AllocateArrayTlab32
557  entrypoint: AllocateArrayTlab32
558  bridge: none
559  properties: [irtoc]
560  signature:
561    - ark::coretypes::Array*
562    - ark::Class*
563    - size_t
564
565- name: AllocateArrayTlab64
566  entrypoint: AllocateArrayTlab64
567  bridge: none
568  properties: [irtoc]
569  signature:
570    - ark::coretypes::Array*
571    - ark::Class*
572    - size_t
573
574- name: CreateArray
575  entrypoint: CreateArraySlowPathEntrypoint
576  bridge: entrypoint
577  properties: []
578  signature:
579    - ark::coretypes::Array*
580    - ark::Class*
581    - size_t
582
583- name: CreateArraySlowPath
584  entrypoint: CreateArraySlowPathEntrypoint
585  bridge: slow_path
586  properties: []
587  signature:
588    - ark::coretypes::Array*
589    - ark::Class*
590    - size_t
591
592- name: ClassResolver
593  entrypoint: ClassResolver
594  bridge: none
595  properties: [irtoc]
596  signature:
597    - ark::Class*
598    - void*
599
600- name: ClassInitResolver
601  entrypoint: ClassInitResolver
602  bridge: none
603  properties: [irtoc]
604  signature:
605    - ark::Class*
606    - void*
607
608- name: CallVirtualResolver
609  entrypoint: CallVirtualResolver
610  bridge: none
611  properties: [irtoc]
612  signature:
613    - void*
614
615- name: IntfInlineCache
616  entrypoint: IntfInlineCache
617  bridge: none
618  properties: [irtoc]
619  signature:
620    - ark::Method*
621    - const ark::Method*
622    - ark::ObjectHeader*
623    - size_t
624    - void*
625
626- name: MonitorEnterFastPath
627  entrypoint: MonitorEnterFastPath
628  bridge: none
629  properties: [irtoc]
630  signature:
631    - void
632    - ark::ObjectHeader*
633
634- name: MonitorExitFastPath
635  entrypoint: MonitorExitFastPath
636  bridge: none
637  properties: [irtoc]
638  signature:
639    - void
640    - ark::ObjectHeader*
641
642- name: EmptyPostWriteBarrier
643  entrypoint: EmptyPostWriteBarrier
644  bridge: none
645  properties: [irtoc]
646  signature:
647    - void
648
649- name: PostInterGenerationalBarrier0
650  entrypoint: PostInterGenerationalBarrier0
651  bridge: none
652  properties: [irtoc]
653  signature:
654    - void
655    - ark::ObjectHeader*
656
657- name: PostInterGenerationalBarrier1
658  entrypoint: PostInterGenerationalBarrier1
659  bridge: none
660  properties: [irtoc]
661  signature:
662    - void
663    - ark::ObjectHeader*
664    - size_t
665    - ark::ObjectHeader*
666
667- name: PostInterGenerationalBarrier2
668  entrypoint: PostInterGenerationalBarrier2
669  bridge: none
670  properties: [irtoc]
671  signature:
672    - void
673    - ark::ObjectHeader*
674    - size_t
675    - ark::ObjectHeader*
676    - ark::ObjectHeader*
677
678- name: PostInterRegionBarrierMarkSingleFast
679  entrypoint: PostInterRegionBarrierMarkSingleFast
680  bridge: none
681  properties: [irtoc]
682  signature:
683    - void
684    - ark::ObjectHeader*
685    - size_t
686    - ark::ObjectHeader*
687
688- name: PostInterRegionBarrierMarkPairFast
689  entrypoint: PostInterRegionBarrierMarkPairFast
690  bridge: none
691  properties: [irtoc]
692  signature:
693    - void
694    - ark::ObjectHeader*
695    - size_t
696    - ark::ObjectHeader*
697    - ark::ObjectHeader*
698
699- name: PostInterRegionBarrierSlow
700  entrypoint: PostInterRegionBarrierSlow
701  bridge: none
702  properties: [irtoc]
703  signature:
704    - void
705    - ark::ObjectHeader*
706
707- name: PostInterRegionBarrierTwoCardsSlow
708  entrypoint: PostInterRegionBarrierTwoCardsSlow
709  bridge: none
710  properties: [irtoc]
711  signature:
712    - void
713    - ark::ObjectHeader*
714
715- name: MonitorEnterOddSaved
716  entrypoint: LockObjectSlowPathEntrypoint
717  bridge: odd_saved
718  properties: []
719  signature:
720    - void
721    - ark::ObjectHeader*
722
723- name: MonitorExitOddSaved
724  entrypoint: UnlockObjectSlowPathEntrypoint
725  bridge: odd_saved
726  properties: []
727  signature:
728    - void
729    - ark::ObjectHeader*
730
731- name: MonitorEnterSlowPath
732  entrypoint: LockObjectSlowPathEntrypoint
733  bridge: slow_path
734  properties: []
735  signature:
736    - void
737    - ark::ObjectHeader*
738
739- name: MonitorExitSlowPath
740  entrypoint: UnlockObjectSlowPathEntrypoint
741  bridge: slow_path
742  properties: []
743  signature:
744    - void
745    - ark::ObjectHeader*
746
747- name: JsCastDoubleToInt32NoBridge
748  entrypoint: JsCastDoubleToInt32
749  bridge: none
750  properties: []
751  signature:
752    - int32_t
753    - double
754
755- name: JsCastDoubleToInt32
756  entrypoint: JsCastDoubleToInt32Entrypoint
757  bridge: entrypoint
758  properties: []
759  signature:
760    - int32_t
761    - uint64_t
762
763- name: ExpandCompiledCodeArgsDyn
764  entrypoint: ExpandCompiledCodeArgsDyn
765  bridge: none
766  properties: []
767  signature:
768    - void
769    - ark::Method*
770    - uint32_t
771    - uint32_t
772
773- name: StringEquals
774  entrypoint: StringEquals
775  bridge: none
776  properties: [irtoc]
777  signature:
778    - uint8_t
779    - ark::coretypes::String*
780    - ark::coretypes::String*
781
782- name: StringEqualsCompressed
783  entrypoint: StringEqualsCompressed
784  bridge: none
785  properties: [irtoc]
786  signature:
787    - uint8_t
788    - ark::coretypes::String*
789    - ark::coretypes::String*
790
791- name: StringEqualsUnroll
792  entrypoint: StringEqualsUnroll
793  bridge: none
794  properties: [irtoc]
795  signature:
796    - uint8_t
797    - ark::coretypes::String*
798    - ark::coretypes::String*
799
800- name: StringEqualsUnrollCompressed
801  entrypoint: StringEqualsUnrollCompressed
802  bridge: none
803  properties: [irtoc]
804  signature:
805    - uint8_t
806    - ark::coretypes::String*
807    - ark::coretypes::String*
808
809- name: StringBuilderBool
810  entrypoint: StringBuilderBool
811  bridge: none
812  properties: [irtoc]
813  signature:
814    - ark::coretypes::String*
815    - ark::coretypes::String*
816    - uint8_t
817
818- name: StringBuilderChar
819  entrypoint: StringBuilderChar
820  bridge: none
821  properties: [irtoc]
822  signature:
823    - ark::coretypes::String*
824    - ark::coretypes::String*
825    - uint16_t
826
827- name: StringBuilderString
828  entrypoint: StringBuilderString
829  bridge: none
830  properties: [irtoc]
831  signature:
832    - ark::coretypes::String*
833    - ark::coretypes::String*
834    - ark::coretypes::String*
835
836- name: StringBuilderStringCompressed
837  entrypoint: StringBuilderStringCompressed
838  bridge: none
839  properties: [irtoc]
840  signature:
841    - ark::coretypes::String*
842    - ark::coretypes::String*
843    - ark::coretypes::String*
844
845- name: StringBuilderStringSlowPath
846  entrypoint: CoreStringBuilderString
847  bridge: slow_path
848  properties: []
849  signature:
850    - ark::ObjectHeader*
851    - ark::ObjectHeader*
852    - void*
853
854- name: StringBuilderStringUsual
855  entrypoint: CoreStringBuilderString
856  bridge: entrypoint
857  properties: []
858  signature:
859    - ark::ObjectHeader*
860    - ark::ObjectHeader*
861    - void*
862
863- name: StringBuilderCharSlowPath
864  entrypoint: CoreStringBuilderChar
865  bridge: slow_path
866  properties: []
867  signature:
868    - ark::ObjectHeader*
869    - ark::ObjectHeader*
870    - uint16_t
871
872- name: StringBuilderCharUsual
873  entrypoint: CoreStringBuilderChar
874  bridge: entrypoint
875  properties: []
876  signature:
877    - ark::ObjectHeader*
878    - ark::ObjectHeader*
879    - uint16_t
880
881- name: StringBuilderBoolSlowPath
882  entrypoint: CoreStringBuilderBool
883  bridge: slow_path
884  properties: []
885  signature:
886    - ark::ObjectHeader*
887    - ark::ObjectHeader*
888    - uint8_t
889
890- name: StringBuilderBoolUsual
891  entrypoint: CoreStringBuilderBool
892  bridge: entrypoint
893  properties: []
894  signature:
895    - ark::ObjectHeader*
896    - ark::ObjectHeader*
897    - uint8_t
898
899- name: CoreStringBuilderInt
900  entrypoint: CoreStringBuilderInt
901  bridge: entrypoint
902  properties: []
903  signature:
904    - ark::ObjectHeader*
905    - ark::ObjectHeader*
906    - int32_t
907
908- name: CoreStringBuilderLong
909  entrypoint: CoreStringBuilderLong
910  bridge: entrypoint
911  properties: []
912  signature:
913    - ark::ObjectHeader*
914    - ark::ObjectHeader*
915    - int64_t
916
917- name: StringHashCode
918  entrypoint: StringHashCode
919  bridge: none
920  properties: [irtoc]
921  signature:
922    - uint32_t                 # resulting hashcode
923    - ark::coretypes::String*  # src string
924
925- name: StringHashCodeCompressed
926  entrypoint: StringHashCodeCompressed
927  bridge: none
928  properties: [irtoc]
929  signature:
930    - uint32_t                 # resulting hashcode
931    - ark::coretypes::String*  # src string
932
933- name: CreateStringFromStringTlab
934  entrypoint: CreateStringFromStringTlab
935  bridge: none
936  properties: [irtoc]
937  signature:
938    - ark::coretypes::String*  # resulting string
939    - ark::coretypes::String*  # src string
940
941- name: CreateStringFromStringTlabCompressed
942  entrypoint: CreateStringFromStringTlabCompressed
943  bridge: none
944  properties: [irtoc]
945  signature:
946    - ark::coretypes::String*  # resulting string
947    - ark::coretypes::String*  # src string
948
949- name: CreateStringFromStringSlowPath
950  entrypoint: CreateStringFromStringEntrypoint
951  bridge: slow_path
952  properties: []
953  signature:
954    - ark::ObjectHeader*  # resulting string
955    - ark::ObjectHeader*  # src string
956
957- name: CreateStringFromStringOddSaved
958  entrypoint: CreateStringFromStringEntrypoint
959  bridge: odd_saved
960  properties: []
961  signature:
962    - ark::ObjectHeader*  # resulting string
963    - ark::ObjectHeader*  # src string
964
965- name: CreateStringFromCharArrayTlab
966  entrypoint: CreateStringFromCharArrayTlab
967  bridge: none
968  properties: [irtoc]
969  signature:
970    - ark::coretypes::String*  # resulting string
971    - uint32_t                 # offset
972    - uint32_t                 # length
973    - ark::ObjectHeader*       # u16 array
974    - ark::Class*              # string class pointer
975
976- name: CreateStringFromCharArrayTlabCompressed
977  entrypoint: CreateStringFromCharArrayTlabCompressed
978  bridge: none
979  properties: [irtoc]
980  signature:
981    - ark::coretypes::String*  # resulting string
982    - uint32_t                 # offset
983    - uint32_t                 # length
984    - ark::ObjectHeader*       # u16 array
985    - ark::Class*              # string class pointer
986
987- name: CreateStringFromCharArraySlowPath
988  entrypoint: CreateStringFromCharsWithOffsetEntrypoint
989  bridge: slow_path
990  properties: []
991  signature:
992    - ark::coretypes::String*  # resulting string
993    - uint32_t                 # offset
994    - uint32_t                 # length
995    - ark::ObjectHeader*       # u16 array
996
997- name: CreateStringFromCharArray4Arg
998  entrypoint: CreateStringFromCharsWithOffsetEntrypoint
999  bridge: odd_saved4
1000  properties: []
1001  signature:
1002    - ark::coretypes::String*  # resulting string
1003    - uint32_t                 # offset
1004    - uint32_t                 # length
1005    - ark::ObjectHeader*       # u16 array
1006
1007- name: CreateStringFromZeroBasedCharArrayTlab
1008  entrypoint: CreateStringFromZeroBasedCharArrayTlab
1009  bridge: none
1010  properties: [irtoc]
1011  signature:
1012    - ark::coretypes::String*  # resulting string
1013    - uint32_t                 # length
1014    - ark::ObjectHeader*       # u16 array
1015    - ark::Class*              # string class pointer
1016
1017- name: CreateStringFromZeroBasedCharArrayTlabCompressed
1018  entrypoint: CreateStringFromZeroBasedCharArrayTlabCompressed
1019  bridge: none
1020  properties: [irtoc]
1021  signature:
1022    - ark::coretypes::String*  # resulting string
1023    - uint32_t                 # length
1024    - ark::ObjectHeader*       # u16 array
1025    - ark::Class*              # string class pointer
1026
1027- name: CreateStringFromZeroBasedCharArraySlowPath
1028  entrypoint: CreateStringFromCharsZeroOffsetEntrypoint
1029  bridge: slow_path
1030  properties: []
1031  signature:
1032    - ark::coretypes::String*  # resulting string
1033    - uint32_t                 # length
1034    - ark::ObjectHeader*       # u16 array
1035
1036- name: CreateStringFromZeroBasedCharArray3Arg
1037  entrypoint: CreateStringFromCharsZeroOffsetEntrypoint
1038  bridge: odd_saved3
1039  properties: []
1040  signature:
1041    - ark::coretypes::String*  # resulting string
1042    - uint32_t                 # length
1043    - ark::ObjectHeader*       # u16 array
1044
1045- name: SubStringFromStringTlab
1046  entrypoint: SubStringFromStringTlab
1047  bridge: none
1048  properties: [irtoc]
1049  signature:
1050    - ark::coretypes::String*  # resulting string
1051    - ark::ObjectHeader*       # src string
1052    - int32_t                  # begin index
1053    - int32_t                  # end index
1054
1055- name: SubStringFromStringTlabCompressed
1056  entrypoint: SubStringFromStringTlabCompressed
1057  bridge: none
1058  properties: [irtoc]
1059  signature:
1060    - ark::coretypes::String*  # resulting string
1061    - ark::ObjectHeader*       # src string
1062    - int32_t                  # begin index
1063    - int32_t                  # end index
1064
1065- name: SubStringFromStringSlowPath
1066  entrypoint: SubStringFromStringEntrypoint
1067  bridge: slow_path
1068  properties: []
1069  signature:
1070    - ark::coretypes::String*  # resulting string
1071    - ark::ObjectHeader*       # src string
1072    - int32_t                  # begin index
1073    - int32_t                  # end index
1074
1075- name: SubStringFromStringOddSaved
1076  entrypoint: SubStringFromStringEntrypoint
1077  bridge: odd_saved
1078  properties: []
1079  signature:
1080    - ark::coretypes::String*  # resulting string
1081    - ark::ObjectHeader*       # src string
1082    - int32_t                  # begin index
1083    - int32_t                  # end index
1084
1085- name: StringGetCharsTlab
1086  entrypoint: StringGetCharsTlab
1087  bridge: none
1088  properties: [irtoc]
1089  signature:
1090    - ark::coretypes::Array*   # resulting array of utf16 chars
1091    - ark::ObjectHeader*       # src string
1092    - int32_t                  # begin index
1093    - int32_t                  # end index
1094    - ark::Class*              # Array u16 class pointer
1095
1096- name: StringGetCharsTlabCompressed
1097  entrypoint: StringGetCharsTlabCompressed
1098  bridge: none
1099  properties: [irtoc]
1100  signature:
1101    - ark::coretypes::Array*   # resulting array of utf16 chars
1102    - ark::ObjectHeader*       # src string
1103    - int32_t                  # begin index
1104    - int32_t                  # end index
1105    - ark::Class*              # Array u16 class pointer
1106
1107- name: StringGetCharsSlowPath
1108  entrypoint: StringGetCharsEntrypoint
1109  bridge: slow_path
1110  properties: []
1111  signature:
1112    - ark::coretypes::Array*   # resulting array of utf16 chars
1113    - ark::ObjectHeader*       # src string
1114    - int32_t                  # begin index
1115    - int32_t                  # end index
1116
1117- name: StringGetChars4Arg
1118  entrypoint: StringGetCharsEntrypoint
1119  bridge: odd_saved4
1120  properties: []
1121  signature:
1122    - ark::coretypes::Array*   # resulting array of utf16 chars
1123    - ark::ObjectHeader*       # src string
1124    - int32_t                  # begin index
1125    - int32_t                  # end index
1126
1127- name: MemmoveInterposer        # "bridge" to avoid generating the excessive prologue
1128  entrypoint: MemmoveInterposer
1129  bridge: none
1130  properties: [irtoc]
1131  signature:
1132    - void
1133    - void*
1134    - void*
1135    - uint32_t
1136
1137- name: ArrayCopyTo_1b
1138  entrypoint: ArrayCopyTo1B
1139  bridge: none
1140  properties: [irtoc]
1141  signature:
1142    - void
1143    - ark::ObjectHeader*
1144    - ark::ObjectHeader*
1145    - int32_t
1146    - int32_t
1147    - int32_t
1148
1149- name: ArrayCopyTo_2b
1150  entrypoint: ArrayCopyTo2B
1151  bridge: none
1152  properties: [irtoc]
1153  signature:
1154    - void
1155    - ark::ObjectHeader*
1156    - ark::ObjectHeader*
1157    - int32_t
1158    - int32_t
1159    - int32_t
1160
1161- name: ArrayCopyTo_4b
1162  entrypoint: ArrayCopyTo4B
1163  bridge: none
1164  properties: [irtoc]
1165  signature:
1166    - void
1167    - ark::ObjectHeader*
1168    - ark::ObjectHeader*
1169    - int32_t
1170    - int32_t
1171    - int32_t
1172
1173- name: ArrayCopyTo_8b
1174  entrypoint: ArrayCopyTo8B
1175  bridge: none
1176  properties: [irtoc]
1177  signature:
1178    - void
1179    - ark::ObjectHeader*
1180    - ark::ObjectHeader*
1181    - int32_t
1182    - int32_t
1183    - int32_t
1184
1185- name: ArrayCopyToUnchecked_1Byte
1186  entrypoint: ArrayCopyToUnchecked1Byte
1187  bridge: none
1188  properties: [irtoc]
1189  signature:
1190    - void
1191    - ark::ObjectHeader*
1192    - ark::ObjectHeader*
1193    - int32_t
1194    - int32_t
1195    - int32_t
1196
1197- name: ArrayCopyToUnchecked_2Byte
1198  entrypoint: ArrayCopyToUnchecked2Byte
1199  bridge: none
1200  properties: [irtoc]
1201  signature:
1202    - void
1203    - ark::ObjectHeader*
1204    - ark::ObjectHeader*
1205    - int32_t
1206    - int32_t
1207    - int32_t
1208
1209- name: ArrayCopyToUnchecked_4Byte
1210  entrypoint: ArrayCopyToUnchecked4Byte
1211  bridge: none
1212  properties: [irtoc]
1213  signature:
1214    - void
1215    - ark::ObjectHeader*
1216    - ark::ObjectHeader*
1217    - int32_t
1218    - int32_t
1219    - int32_t
1220
1221- name: ArrayCopyToUnchecked_8Byte
1222  entrypoint: ArrayCopyToUnchecked8Byte
1223  bridge: none
1224  properties: [irtoc]
1225  signature:
1226    - void
1227    - ark::ObjectHeader*
1228    - ark::ObjectHeader*
1229    - int32_t
1230    - int32_t
1231    - int32_t
1232
1233- name: ArraycopyBigloop
1234  entrypoint: TryBigCopy
1235  bridge: none
1236  properties: [irtoc]
1237  signature:
1238    - void
1239    - void*
1240    - void*
1241    - int32_t
1242
1243- name: StringConcat2Tlab
1244  entrypoint: StringConcat2Tlab
1245  bridge: none
1246  properties: [irtoc]
1247  signature:
1248    - ark::coretypes::String*
1249    - ark::coretypes::String*
1250    - ark::coretypes::String*
1251
1252- name: StringConcat3Tlab
1253  entrypoint: StringConcat3Tlab
1254  bridge: none
1255  properties: [irtoc]
1256  signature:
1257    - ark::coretypes::String*
1258    - ark::coretypes::String*
1259    - ark::coretypes::String*
1260    - ark::coretypes::String*
1261
1262- name: StringConcat4Tlab
1263  entrypoint: StringConcat4Tlab
1264  bridge: none
1265  properties: [irtoc]
1266  signature:
1267    - ark::coretypes::String*
1268    - ark::coretypes::String*
1269    - ark::coretypes::String*
1270    - ark::coretypes::String*
1271    - ark::coretypes::String*
1272
1273- name: StringConcat2SlowPath
1274  entrypoint: CoreStringConcat2
1275  bridge: slow_path
1276  properties: []
1277  signature:
1278    - ark::coretypes::String*
1279    - ark::coretypes::String*
1280    - ark::coretypes::String*
1281
1282- name: StringConcat3SlowPath
1283  entrypoint: CoreStringConcat3
1284  bridge: slow_path
1285  properties: []
1286  signature:
1287    - ark::coretypes::String*
1288    - ark::coretypes::String*
1289    - ark::coretypes::String*
1290    - ark::coretypes::String*
1291
1292- name: StringConcat4SlowPath
1293  entrypoint: CoreStringConcat4
1294  bridge: slow_path
1295  properties: []
1296  signature:
1297    - ark::coretypes::String*
1298    - ark::coretypes::String*
1299    - ark::coretypes::String*
1300    - ark::coretypes::String*
1301    - ark::coretypes::String*
1302
1303- name: StringConcat2Usual
1304  entrypoint: CoreStringConcat2
1305  bridge: entrypoint
1306  properties: []
1307  signature:
1308    - ark::coretypes::String*
1309    - ark::coretypes::String*
1310    - ark::coretypes::String*
1311
1312- name: StringConcat3OddSaved
1313  entrypoint: CoreStringConcat3
1314  bridge: odd_saved
1315  properties: []
1316  signature:
1317    - ark::coretypes::String*
1318    - ark::coretypes::String*
1319    - ark::coretypes::String*
1320    - ark::coretypes::String*
1321
1322- name: StringConcat4Usual
1323  entrypoint: CoreStringConcat4
1324  bridge: entrypoint
1325  properties: []
1326  signature:
1327    - ark::coretypes::String*
1328    - ark::coretypes::String*
1329    - ark::coretypes::String*
1330    - ark::coretypes::String*
1331    - ark::coretypes::String*
1332
1333- name: StringCompareTo
1334  entrypoint: StringCompareTo
1335  bridge: none
1336  properties: [irtoc]
1337  signature:
1338    - int32_t                  # compare result
1339    - ark::coretypes::String*  # first string
1340    - ark::coretypes::String*  # second string
1341