• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with
4  * the License. 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 
15 #include "isa_dynamic_impl_instr.h"
16 #include "scoped_timer.h"
17 
18 namespace libabckit {
19 
IcreateDYNAMICThrowConstassignment(AbckitGraph * graph,AbckitInst * input0)20 extern "C" AbckitInst *IcreateDYNAMICThrowConstassignment(AbckitGraph *graph, AbckitInst *input0)
21 {
22     LIBABCKIT_CLEAR_LAST_ERROR;
23     LIBABCKIT_IMPLEMENTED;
24     LIBABCKIT_TIME_EXEC;
25 
26     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
27     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
28 
29     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
30     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
31     return IcreateDynThrowConstassignmentStatic(graph, input0);
32 }
33 
IcreateDYNAMICThrowIfnotobject(AbckitGraph * graph,AbckitInst * input0)34 extern "C" AbckitInst *IcreateDYNAMICThrowIfnotobject(AbckitGraph *graph, AbckitInst *input0)
35 {
36     LIBABCKIT_CLEAR_LAST_ERROR;
37     LIBABCKIT_IMPLEMENTED;
38     LIBABCKIT_TIME_EXEC;
39 
40     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
41     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
42 
43     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
44     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
45     return IcreateDynThrowIfnotobjectStatic(graph, input0);
46 }
47 
IcreateDYNAMICThrowUndefinedifhole(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)48 extern "C" AbckitInst *IcreateDYNAMICThrowUndefinedifhole(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
49 {
50     LIBABCKIT_CLEAR_LAST_ERROR;
51     LIBABCKIT_IMPLEMENTED;
52     LIBABCKIT_TIME_EXEC;
53 
54     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
55     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
56     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
57 
58     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
59     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
60     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
61     return IcreateDynThrowUndefinedifholeStatic(graph, input0, input1);
62 }
63 
IcreateDYNAMICThrowIfsupernotcorrectcall(AbckitGraph * graph,AbckitInst * acc,uint64_t imm0)64 extern "C" AbckitInst *IcreateDYNAMICThrowIfsupernotcorrectcall(AbckitGraph *graph, AbckitInst *acc, uint64_t imm0)
65 {
66     LIBABCKIT_CLEAR_LAST_ERROR;
67     LIBABCKIT_IMPLEMENTED;
68     LIBABCKIT_TIME_EXEC;
69 
70     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
71     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
72 
73     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
74     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
75     return IcreateDynThrowIfsupernotcorrectcallStatic(graph, acc, imm0);
76 }
77 
IcreateDYNAMICThrowUndefinedifholewithname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string)78 extern "C" AbckitInst *IcreateDYNAMICThrowUndefinedifholewithname(AbckitGraph *graph, AbckitInst *acc,
79                                                                   AbckitString *string)
80 {
81     LIBABCKIT_CLEAR_LAST_ERROR;
82     LIBABCKIT_IMPLEMENTED;
83     LIBABCKIT_TIME_EXEC;
84 
85     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
86     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
87     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
88 
89     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
90     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
91     return IcreateDynThrowUndefinedifholewithnameStatic(graph, acc, string);
92 }
93 
IcreateDYNAMICCallarg0(AbckitGraph * graph,AbckitInst * acc)94 extern "C" AbckitInst *IcreateDYNAMICCallarg0(AbckitGraph *graph, AbckitInst *acc)
95 {
96     LIBABCKIT_CLEAR_LAST_ERROR;
97     LIBABCKIT_IMPLEMENTED;
98     LIBABCKIT_TIME_EXEC;
99 
100     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
101     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
102 
103     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
104     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
105     return IcreateDynCallarg0Static(graph, acc);
106 }
107 
IcreateDYNAMICCallarg1(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)108 extern "C" AbckitInst *IcreateDYNAMICCallarg1(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
109 {
110     LIBABCKIT_CLEAR_LAST_ERROR;
111     LIBABCKIT_IMPLEMENTED;
112     LIBABCKIT_TIME_EXEC;
113 
114     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
115     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
116     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
117 
118     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
119     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
120     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
121     return IcreateDynCallarg1Static(graph, acc, input0);
122 }
123 
IcreateDYNAMICCallargs2(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)124 extern "C" AbckitInst *IcreateDYNAMICCallargs2(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
125                                                AbckitInst *input1)
126 {
127     LIBABCKIT_CLEAR_LAST_ERROR;
128     LIBABCKIT_IMPLEMENTED;
129     LIBABCKIT_TIME_EXEC;
130 
131     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
132     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
133     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
134     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
135 
136     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
137     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
138     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
139     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
140     return IcreateDynCallargs2Static(graph, acc, input0, input1);
141 }
142 
IcreateDYNAMICCallargs3(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1,AbckitInst * input2)143 extern "C" AbckitInst *IcreateDYNAMICCallargs3(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
144                                                AbckitInst *input1, AbckitInst *input2)
145 {
146     LIBABCKIT_CLEAR_LAST_ERROR;
147     LIBABCKIT_IMPLEMENTED;
148     LIBABCKIT_TIME_EXEC;
149 
150     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
151     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
152     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
153     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
154     LIBABCKIT_BAD_ARGUMENT(input2, nullptr);
155 
156     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
157     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
158     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
159     LIBABCKIT_WRONG_CTX(graph, input2->graph, nullptr);
160     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
161     return IcreateDynCallargs3Static(graph, acc, input0, input1, input2);
162 }
163 
IcreateDYNAMICCallrange(AbckitGraph * graph,AbckitInst * acc,size_t argCount,...)164 extern "C" AbckitInst *IcreateDYNAMICCallrange(AbckitGraph *graph, AbckitInst *acc, size_t argCount, ...)
165 {
166     LIBABCKIT_CLEAR_LAST_ERROR;
167     LIBABCKIT_IMPLEMENTED;
168     LIBABCKIT_TIME_EXEC;
169 
170     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
171     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
172     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
173     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
174     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
175     std::va_list args;
176     va_start(args, argCount);
177     auto *inst = IcreateDynCallrangeStatic(graph, acc, argCount, args);
178     va_end(args);
179     return inst;
180 }
181 
IcreateDYNAMICWideCallrange(AbckitGraph * graph,AbckitInst * acc,size_t argCount,...)182 extern "C" AbckitInst *IcreateDYNAMICWideCallrange(AbckitGraph *graph, AbckitInst *acc, size_t argCount, ...)
183 {
184     LIBABCKIT_CLEAR_LAST_ERROR;
185     LIBABCKIT_IMPLEMENTED;
186     LIBABCKIT_TIME_EXEC;
187 
188     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
189     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
190     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
191     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
192 
193     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
194     std::va_list args;
195     va_start(args, argCount);
196 
197     auto *inst = IcreateDynWideCallrangeStatic(graph, acc, argCount, args);
198     va_end(args);
199     return inst;
200 }
201 
IcreateDYNAMICSupercallspread(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)202 extern "C" AbckitInst *IcreateDYNAMICSupercallspread(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
203 {
204     LIBABCKIT_CLEAR_LAST_ERROR;
205     LIBABCKIT_IMPLEMENTED;
206     LIBABCKIT_TIME_EXEC;
207 
208     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
209     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
210     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
211 
212     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
213     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
214     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
215     return IcreateDynSupercallspreadStatic(graph, acc, input0);
216 }
217 
IcreateDYNAMICApply(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)218 extern "C" AbckitInst *IcreateDYNAMICApply(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0, AbckitInst *input1)
219 {
220     LIBABCKIT_CLEAR_LAST_ERROR;
221     LIBABCKIT_IMPLEMENTED;
222     LIBABCKIT_TIME_EXEC;
223 
224     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
225     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
226     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
227     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
228 
229     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
230     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
231     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
232     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
233     return IcreateDynApplyStatic(graph, acc, input0, input1);
234 }
235 
IcreateDYNAMICCallthis0(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)236 extern "C" AbckitInst *IcreateDYNAMICCallthis0(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
237 {
238     LIBABCKIT_CLEAR_LAST_ERROR;
239     LIBABCKIT_IMPLEMENTED;
240     LIBABCKIT_TIME_EXEC;
241 
242     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
243     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
244     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
245 
246     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
247     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
248     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
249     return IcreateDynCallthis0Static(graph, acc, input0);
250 }
251 
IcreateDYNAMICCallthis1(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)252 extern "C" AbckitInst *IcreateDYNAMICCallthis1(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
253                                                AbckitInst *input1)
254 {
255     LIBABCKIT_CLEAR_LAST_ERROR;
256     LIBABCKIT_IMPLEMENTED;
257     LIBABCKIT_TIME_EXEC;
258 
259     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
260     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
261     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
262     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
263 
264     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
265     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
266     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
267     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
268     return IcreateDynCallthis1Static(graph, acc, input0, input1);
269 }
270 
IcreateDYNAMICCallthis2(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1,AbckitInst * input2)271 extern "C" AbckitInst *IcreateDYNAMICCallthis2(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
272                                                AbckitInst *input1, AbckitInst *input2)
273 {
274     LIBABCKIT_CLEAR_LAST_ERROR;
275     LIBABCKIT_IMPLEMENTED;
276     LIBABCKIT_TIME_EXEC;
277 
278     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
279     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
280     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
281     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
282     LIBABCKIT_BAD_ARGUMENT(input2, nullptr);
283 
284     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
285     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
286     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
287     LIBABCKIT_WRONG_CTX(graph, input2->graph, nullptr);
288     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
289     return IcreateDynCallthis2Static(graph, acc, input0, input1, input2);
290 }
291 
292 // CC-OFFNXT(G.FUN.01) This is function from public API
IcreateDYNAMICCallthis3(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1,AbckitInst * input2,AbckitInst * input3)293 extern "C" AbckitInst *IcreateDYNAMICCallthis3(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
294                                                AbckitInst *input1, AbckitInst *input2, AbckitInst *input3)
295 {
296     LIBABCKIT_CLEAR_LAST_ERROR;
297     LIBABCKIT_IMPLEMENTED;
298     LIBABCKIT_TIME_EXEC;
299 
300     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
301     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
302     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
303     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
304     LIBABCKIT_BAD_ARGUMENT(input2, nullptr);
305     LIBABCKIT_BAD_ARGUMENT(input3, nullptr);
306 
307     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
308     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
309     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
310     LIBABCKIT_WRONG_CTX(graph, input2->graph, nullptr);
311     LIBABCKIT_WRONG_CTX(graph, input3->graph, nullptr);
312     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
313     return IcreateDynCallthis3Static(graph, acc, input0, input1, input2, input3);
314 }
315 
IcreateDYNAMICCallthisrange(AbckitGraph * graph,AbckitInst * acc,size_t argCount,...)316 extern "C" AbckitInst *IcreateDYNAMICCallthisrange(AbckitGraph *graph, AbckitInst *acc, size_t argCount, ...)
317 {
318     LIBABCKIT_CLEAR_LAST_ERROR;
319     LIBABCKIT_IMPLEMENTED;
320     LIBABCKIT_TIME_EXEC;
321 
322     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
323     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
324     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
325     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
326 
327     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
328     std::va_list args;
329     va_start(args, argCount);
330 
331     auto *inst = IcreateDynCallthisrangeStatic(graph, acc, argCount, args);
332     va_end(args);
333     return inst;
334 }
335 
IcreateDYNAMICWideCallthisrange(AbckitGraph * graph,AbckitInst * acc,size_t argCount,...)336 extern "C" AbckitInst *IcreateDYNAMICWideCallthisrange(AbckitGraph *graph, AbckitInst *acc, size_t argCount, ...)
337 {
338     LIBABCKIT_CLEAR_LAST_ERROR;
339     LIBABCKIT_IMPLEMENTED;
340     LIBABCKIT_TIME_EXEC;
341 
342     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
343     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
344     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
345     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
346 
347     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
348     std::va_list args;
349     va_start(args, argCount);
350 
351     auto *inst = IcreateDynWideCallthisrangeStatic(graph, acc, argCount, args);
352     va_end(args);
353     return inst;
354 }
355 
IcreateDYNAMICSupercallthisrange(AbckitGraph * graph,size_t argCount,...)356 extern "C" AbckitInst *IcreateDYNAMICSupercallthisrange(AbckitGraph *graph, size_t argCount, ...)
357 {
358     LIBABCKIT_CLEAR_LAST_ERROR;
359     LIBABCKIT_IMPLEMENTED;
360     LIBABCKIT_TIME_EXEC;
361 
362     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
363     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
364 
365     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
366     std::va_list args;
367     va_start(args, argCount);
368 
369     auto *inst = IcreateDynSupercallthisrangeStatic(graph, argCount, args);
370     va_end(args);
371     return inst;
372 }
373 
IcreateDYNAMICWideSupercallthisrange(AbckitGraph * graph,size_t argCount,...)374 extern "C" AbckitInst *IcreateDYNAMICWideSupercallthisrange(AbckitGraph *graph, size_t argCount, ...)
375 {
376     LIBABCKIT_CLEAR_LAST_ERROR;
377     LIBABCKIT_IMPLEMENTED;
378     LIBABCKIT_TIME_EXEC;
379 
380     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
381     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
382 
383     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
384     std::va_list args;
385     va_start(args, argCount);
386 
387     auto *inst = IcreateDynWideSupercallthisrangeStatic(graph, argCount, args);
388     va_end(args);
389     return inst;
390 }
391 
IcreateDYNAMICSupercallarrowrange(AbckitGraph * graph,AbckitInst * acc,size_t argCount,...)392 extern "C" AbckitInst *IcreateDYNAMICSupercallarrowrange(AbckitGraph *graph, AbckitInst *acc, size_t argCount, ...)
393 {
394     LIBABCKIT_CLEAR_LAST_ERROR;
395     LIBABCKIT_IMPLEMENTED;
396     LIBABCKIT_TIME_EXEC;
397 
398     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
399     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
400     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
401     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
402 
403     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
404     std::va_list args;
405     va_start(args, argCount);
406 
407     auto *inst = IcreateDynSupercallarrowrangeStatic(graph, acc, argCount, args);
408     va_end(args);
409     return inst;
410 }
411 
IcreateDYNAMICWideSupercallarrowrange(AbckitGraph * graph,AbckitInst * acc,size_t argCount,...)412 extern "C" AbckitInst *IcreateDYNAMICWideSupercallarrowrange(AbckitGraph *graph, AbckitInst *acc, size_t argCount, ...)
413 {
414     LIBABCKIT_CLEAR_LAST_ERROR;
415     LIBABCKIT_IMPLEMENTED;
416     LIBABCKIT_TIME_EXEC;
417 
418     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
419     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
420     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
421     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
422 
423     // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg)
424     std::va_list args;
425     va_start(args, argCount);
426     auto *inst = IcreateDynWideSupercallarrowrangeStatic(graph, acc, argCount, args);
427     va_end(args);
428     return inst;
429 }
430 
431 // CC-OFFNXT(G.FUN.01) This is function from public API
IcreateDYNAMICDefinegettersetterbyvalue(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1,AbckitInst * input2,AbckitInst * input3)432 extern "C" AbckitInst *IcreateDYNAMICDefinegettersetterbyvalue(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
433                                                                AbckitInst *input1, AbckitInst *input2,
434                                                                AbckitInst *input3)
435 {
436     LIBABCKIT_CLEAR_LAST_ERROR;
437     LIBABCKIT_IMPLEMENTED;
438     LIBABCKIT_TIME_EXEC;
439 
440     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
441     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
442     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
443     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
444     LIBABCKIT_BAD_ARGUMENT(input2, nullptr);
445     LIBABCKIT_BAD_ARGUMENT(input3, nullptr);
446 
447     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
448     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
449     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
450     LIBABCKIT_WRONG_CTX(graph, input2->graph, nullptr);
451     LIBABCKIT_WRONG_CTX(graph, input3->graph, nullptr);
452     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
453     return IcreateDynDefinegettersetterbyvalueStatic(graph, acc, input0, input1, input2, input3);
454 }
455 
IcreateDYNAMICDefinefunc(AbckitGraph * graph,AbckitCoreFunction * function,uint64_t imm0)456 extern "C" AbckitInst *IcreateDYNAMICDefinefunc(AbckitGraph *graph, AbckitCoreFunction *function, uint64_t imm0)
457 {
458     LIBABCKIT_CLEAR_LAST_ERROR;
459     LIBABCKIT_IMPLEMENTED;
460     LIBABCKIT_TIME_EXEC;
461 
462     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
463     LIBABCKIT_BAD_ARGUMENT(function, nullptr);
464     LIBABCKIT_INTERNAL_ERROR(function->owningModule, nullptr);
465     LIBABCKIT_WRONG_CTX(graph->file, function->owningModule->file, nullptr);
466     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
467     return IcreateDynDefinefuncStatic(graph, function, imm0);
468 }
469 
IcreateDYNAMICDefinemethod(AbckitGraph * graph,AbckitInst * acc,AbckitCoreFunction * function,uint64_t imm0)470 extern "C" AbckitInst *IcreateDYNAMICDefinemethod(AbckitGraph *graph, AbckitInst *acc, AbckitCoreFunction *function,
471                                                   uint64_t imm0)
472 {
473     LIBABCKIT_CLEAR_LAST_ERROR;
474     LIBABCKIT_IMPLEMENTED;
475     LIBABCKIT_TIME_EXEC;
476 
477     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
478     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
479     LIBABCKIT_BAD_ARGUMENT(function, nullptr);
480 
481     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
482     LIBABCKIT_INTERNAL_ERROR(function->owningModule, nullptr);
483     LIBABCKIT_WRONG_CTX(graph->file, function->owningModule->file, nullptr);
484     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
485     return IcreateDynDefinemethodStatic(graph, acc, function, imm0);
486 }
487 
IcreateDYNAMICDefineclasswithbuffer(AbckitGraph * graph,AbckitCoreFunction * function,AbckitLiteralArray * literalArray,uint64_t imm0,AbckitInst * input0)488 extern "C" AbckitInst *IcreateDYNAMICDefineclasswithbuffer(AbckitGraph *graph, AbckitCoreFunction *function,
489                                                            AbckitLiteralArray *literalArray, uint64_t imm0,
490                                                            AbckitInst *input0)
491 {
492     LIBABCKIT_CLEAR_LAST_ERROR;
493     LIBABCKIT_IMPLEMENTED;
494     LIBABCKIT_TIME_EXEC;
495 
496     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
497     LIBABCKIT_BAD_ARGUMENT(function, nullptr);
498     LIBABCKIT_BAD_ARGUMENT(literalArray, nullptr);
499     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
500 
501     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
502     LIBABCKIT_INTERNAL_ERROR(function->owningModule, nullptr);
503     LIBABCKIT_WRONG_CTX(graph->file, function->owningModule->file, nullptr);
504     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
505     return IcreateDynDefineclasswithbufferStatic(graph, function, literalArray, imm0, input0);
506 }
507 
IcreateDYNAMICResumegenerator(AbckitGraph * graph,AbckitInst * acc)508 extern "C" AbckitInst *IcreateDYNAMICResumegenerator(AbckitGraph *graph, AbckitInst *acc)
509 {
510     LIBABCKIT_CLEAR_LAST_ERROR;
511     LIBABCKIT_IMPLEMENTED;
512     LIBABCKIT_TIME_EXEC;
513 
514     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
515     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
516 
517     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
518     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
519     return IcreateDynResumegeneratorStatic(graph, acc);
520 }
521 
IcreateDYNAMICGetresumemode(AbckitGraph * graph,AbckitInst * acc)522 extern "C" AbckitInst *IcreateDYNAMICGetresumemode(AbckitGraph *graph, AbckitInst *acc)
523 {
524     LIBABCKIT_CLEAR_LAST_ERROR;
525     LIBABCKIT_IMPLEMENTED;
526     LIBABCKIT_TIME_EXEC;
527 
528     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
529     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
530 
531     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
532     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
533     return IcreateDynGetresumemodeStatic(graph, acc);
534 }
535 
IcreateDYNAMICGettemplateobject(AbckitGraph * graph,AbckitInst * acc)536 extern "C" AbckitInst *IcreateDYNAMICGettemplateobject(AbckitGraph *graph, AbckitInst *acc)
537 {
538     LIBABCKIT_CLEAR_LAST_ERROR;
539     LIBABCKIT_IMPLEMENTED;
540     LIBABCKIT_TIME_EXEC;
541 
542     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
543     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
544 
545     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
546     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
547     return IcreateDynGettemplateobjectStatic(graph, acc);
548 }
549 
IcreateDYNAMICGetnextpropname(AbckitGraph * graph,AbckitInst * input0)550 extern "C" AbckitInst *IcreateDYNAMICGetnextpropname(AbckitGraph *graph, AbckitInst *input0)
551 {
552     LIBABCKIT_CLEAR_LAST_ERROR;
553     LIBABCKIT_IMPLEMENTED;
554     LIBABCKIT_TIME_EXEC;
555 
556     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
557     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
558 
559     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
560     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
561     return IcreateDynGetnextpropnameStatic(graph, input0);
562 }
563 
IcreateDYNAMICDelobjprop(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)564 extern "C" AbckitInst *IcreateDYNAMICDelobjprop(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
565 {
566     LIBABCKIT_CLEAR_LAST_ERROR;
567     LIBABCKIT_IMPLEMENTED;
568     LIBABCKIT_TIME_EXEC;
569 
570     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
571     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
572     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
573 
574     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
575     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
576     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
577     return IcreateDynDelobjpropStatic(graph, acc, input0);
578 }
579 
IcreateDYNAMICSuspendgenerator(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)580 extern "C" AbckitInst *IcreateDYNAMICSuspendgenerator(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
581 {
582     LIBABCKIT_CLEAR_LAST_ERROR;
583     LIBABCKIT_IMPLEMENTED;
584     LIBABCKIT_TIME_EXEC;
585 
586     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
587     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
588     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
589 
590     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
591     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
592     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
593     return IcreateDynSuspendgeneratorStatic(graph, acc, input0);
594 }
595 
IcreateDYNAMICAsyncfunctionawaituncaught(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)596 extern "C" AbckitInst *IcreateDYNAMICAsyncfunctionawaituncaught(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
597 {
598     LIBABCKIT_CLEAR_LAST_ERROR;
599     LIBABCKIT_IMPLEMENTED;
600     LIBABCKIT_TIME_EXEC;
601 
602     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
603     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
604     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
605 
606     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
607     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
608     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
609     return IcreateDynAsyncfunctionawaituncaughtStatic(graph, acc, input0);
610 }
611 
IcreateDYNAMICCopydataproperties(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)612 extern "C" AbckitInst *IcreateDYNAMICCopydataproperties(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
613 {
614     LIBABCKIT_CLEAR_LAST_ERROR;
615     LIBABCKIT_IMPLEMENTED;
616     LIBABCKIT_TIME_EXEC;
617 
618     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
619     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
620     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
621 
622     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
623     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
624     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
625     return IcreateDynCopydatapropertiesStatic(graph, acc, input0);
626 }
627 
IcreateDYNAMICStarrayspread(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)628 extern "C" AbckitInst *IcreateDYNAMICStarrayspread(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
629                                                    AbckitInst *input1)
630 {
631     LIBABCKIT_CLEAR_LAST_ERROR;
632     LIBABCKIT_IMPLEMENTED;
633     LIBABCKIT_TIME_EXEC;
634 
635     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
636     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
637     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
638     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
639 
640     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
641     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
642     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
643     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
644     return IcreateDynStarrayspreadStatic(graph, acc, input0, input1);
645 }
646 
IcreateDYNAMICSetobjectwithproto(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)647 extern "C" AbckitInst *IcreateDYNAMICSetobjectwithproto(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
648 {
649     LIBABCKIT_CLEAR_LAST_ERROR;
650     LIBABCKIT_IMPLEMENTED;
651     LIBABCKIT_TIME_EXEC;
652 
653     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
654     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
655     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
656 
657     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
658     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
659     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
660     return IcreateDynSetobjectwithprotoStatic(graph, acc, input0);
661 }
662 
IcreateDYNAMICLdobjbyvalue(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)663 extern "C" AbckitInst *IcreateDYNAMICLdobjbyvalue(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
664 {
665     LIBABCKIT_CLEAR_LAST_ERROR;
666     LIBABCKIT_IMPLEMENTED;
667     LIBABCKIT_TIME_EXEC;
668 
669     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
670     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
671     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
672 
673     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
674     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
675     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
676     return IcreateDynLdobjbyvalueStatic(graph, acc, input0);
677 }
678 
IcreateDYNAMICStobjbyvalue(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)679 extern "C" AbckitInst *IcreateDYNAMICStobjbyvalue(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
680                                                   AbckitInst *input1)
681 {
682     LIBABCKIT_CLEAR_LAST_ERROR;
683     LIBABCKIT_IMPLEMENTED;
684     LIBABCKIT_TIME_EXEC;
685 
686     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
687     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
688     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
689     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
690 
691     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
692     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
693     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
694     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
695     return IcreateDynStobjbyvalueStatic(graph, acc, input0, input1);
696 }
697 
IcreateDYNAMICStownbyvalue(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)698 extern "C" AbckitInst *IcreateDYNAMICStownbyvalue(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
699                                                   AbckitInst *input1)
700 {
701     LIBABCKIT_CLEAR_LAST_ERROR;
702     LIBABCKIT_IMPLEMENTED;
703     LIBABCKIT_TIME_EXEC;
704 
705     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
706     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
707     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
708     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
709 
710     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
711     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
712     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
713     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
714     return IcreateDynStownbyvalueStatic(graph, acc, input0, input1);
715 }
716 
IcreateDYNAMICLdsuperbyvalue(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)717 extern "C" AbckitInst *IcreateDYNAMICLdsuperbyvalue(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
718 {
719     LIBABCKIT_CLEAR_LAST_ERROR;
720     LIBABCKIT_IMPLEMENTED;
721     LIBABCKIT_TIME_EXEC;
722 
723     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
724     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
725     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
726 
727     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
728     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
729     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
730     return IcreateDynLdsuperbyvalueStatic(graph, acc, input0);
731 }
732 
IcreateDYNAMICStsuperbyvalue(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)733 extern "C" AbckitInst *IcreateDYNAMICStsuperbyvalue(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
734                                                     AbckitInst *input1)
735 {
736     LIBABCKIT_CLEAR_LAST_ERROR;
737     LIBABCKIT_IMPLEMENTED;
738     LIBABCKIT_TIME_EXEC;
739 
740     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
741     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
742     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
743     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
744 
745     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
746     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
747     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
748     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
749     return IcreateDynStsuperbyvalueStatic(graph, acc, input0, input1);
750 }
751 
IcreateDYNAMICLdobjbyindex(AbckitGraph * graph,AbckitInst * acc,uint64_t imm0)752 extern "C" AbckitInst *IcreateDYNAMICLdobjbyindex(AbckitGraph *graph, AbckitInst *acc, uint64_t imm0)
753 {
754     LIBABCKIT_CLEAR_LAST_ERROR;
755     LIBABCKIT_IMPLEMENTED;
756     LIBABCKIT_TIME_EXEC;
757 
758     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
759     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
760 
761     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
762     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
763     return IcreateDynLdobjbyindexStatic(graph, acc, imm0);
764 }
765 
IcreateDYNAMICWideLdobjbyindex(AbckitGraph * graph,AbckitInst * acc,uint64_t imm0)766 extern "C" AbckitInst *IcreateDYNAMICWideLdobjbyindex(AbckitGraph *graph, AbckitInst *acc, uint64_t imm0)
767 {
768     LIBABCKIT_CLEAR_LAST_ERROR;
769     LIBABCKIT_IMPLEMENTED;
770     LIBABCKIT_TIME_EXEC;
771 
772     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
773     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
774 
775     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
776     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
777     return IcreateDynWideLdobjbyindexStatic(graph, acc, imm0);
778 }
779 
IcreateDYNAMICStobjbyindex(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,uint64_t imm0)780 extern "C" AbckitInst *IcreateDYNAMICStobjbyindex(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
781                                                   uint64_t imm0)
782 {
783     LIBABCKIT_CLEAR_LAST_ERROR;
784     LIBABCKIT_IMPLEMENTED;
785     LIBABCKIT_TIME_EXEC;
786 
787     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
788     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
789     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
790 
791     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
792     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
793     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
794     return IcreateDynStobjbyindexStatic(graph, acc, input0, imm0);
795 }
796 
IcreateDYNAMICWideStobjbyindex(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,uint64_t imm0)797 extern "C" AbckitInst *IcreateDYNAMICWideStobjbyindex(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
798                                                       uint64_t imm0)
799 {
800     LIBABCKIT_CLEAR_LAST_ERROR;
801     LIBABCKIT_IMPLEMENTED;
802     LIBABCKIT_TIME_EXEC;
803 
804     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
805     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
806     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
807 
808     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
809     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
810     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
811     return IcreateDynWideStobjbyindexStatic(graph, acc, input0, imm0);
812 }
813 
IcreateDYNAMICStownbyindex(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,uint64_t imm0)814 extern "C" AbckitInst *IcreateDYNAMICStownbyindex(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
815                                                   uint64_t imm0)
816 {
817     LIBABCKIT_CLEAR_LAST_ERROR;
818     LIBABCKIT_IMPLEMENTED;
819     LIBABCKIT_TIME_EXEC;
820 
821     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
822     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
823     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
824 
825     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
826     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
827     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
828     return IcreateDynStownbyindexStatic(graph, acc, input0, imm0);
829 }
830 
IcreateDYNAMICWideStownbyindex(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,uint64_t imm0)831 extern "C" AbckitInst *IcreateDYNAMICWideStownbyindex(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
832                                                       uint64_t imm0)
833 {
834     LIBABCKIT_CLEAR_LAST_ERROR;
835     LIBABCKIT_IMPLEMENTED;
836     LIBABCKIT_TIME_EXEC;
837 
838     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
839     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
840     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
841     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
842     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
843     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
844     return IcreateDynWideStownbyindexStatic(graph, acc, input0, imm0);
845 }
846 
IcreateDYNAMICAsyncfunctionresolve(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)847 extern "C" AbckitInst *IcreateDYNAMICAsyncfunctionresolve(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
848 {
849     LIBABCKIT_CLEAR_LAST_ERROR;
850     LIBABCKIT_IMPLEMENTED;
851     LIBABCKIT_TIME_EXEC;
852 
853     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
854     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
855     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
856 
857     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
858     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
859     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
860     return IcreateDynAsyncfunctionresolveStatic(graph, acc, input0);
861 }
862 
IcreateDYNAMICAsyncfunctionreject(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)863 extern "C" AbckitInst *IcreateDYNAMICAsyncfunctionreject(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
864 {
865     LIBABCKIT_CLEAR_LAST_ERROR;
866     LIBABCKIT_IMPLEMENTED;
867     LIBABCKIT_TIME_EXEC;
868 
869     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
870     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
871     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
872 
873     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
874     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
875     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
876     return IcreateDynAsyncfunctionrejectStatic(graph, acc, input0);
877 }
878 
IcreateDYNAMICCopyrestargs(AbckitGraph * graph,uint64_t imm0)879 extern "C" AbckitInst *IcreateDYNAMICCopyrestargs(AbckitGraph *graph, uint64_t imm0)
880 {
881     LIBABCKIT_CLEAR_LAST_ERROR;
882     LIBABCKIT_IMPLEMENTED;
883     LIBABCKIT_TIME_EXEC;
884 
885     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
886     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
887 
888     return IcreateDynCopyrestargsStatic(graph, imm0);
889 }
890 
IcreateDYNAMICWideCopyrestargs(AbckitGraph * graph,uint64_t imm0)891 extern "C" AbckitInst *IcreateDYNAMICWideCopyrestargs(AbckitGraph *graph, uint64_t imm0)
892 {
893     LIBABCKIT_CLEAR_LAST_ERROR;
894     LIBABCKIT_IMPLEMENTED;
895     LIBABCKIT_TIME_EXEC;
896 
897     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
898     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
899 
900     return IcreateDynWideCopyrestargsStatic(graph, imm0);
901 }
902 
IcreateDYNAMICLdlexvar(AbckitGraph * graph,uint64_t imm0,uint64_t imm1)903 extern "C" AbckitInst *IcreateDYNAMICLdlexvar(AbckitGraph *graph, uint64_t imm0, uint64_t imm1)
904 {
905     LIBABCKIT_CLEAR_LAST_ERROR;
906     LIBABCKIT_IMPLEMENTED;
907     LIBABCKIT_TIME_EXEC;
908 
909     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
910     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
911 
912     return IcreateDynLdlexvarStatic(graph, imm0, imm1);
913 }
914 
IcreateDYNAMICWideLdlexvar(AbckitGraph * graph,uint64_t imm0,uint64_t imm1)915 extern "C" AbckitInst *IcreateDYNAMICWideLdlexvar(AbckitGraph *graph, uint64_t imm0, uint64_t imm1)
916 {
917     LIBABCKIT_CLEAR_LAST_ERROR;
918     LIBABCKIT_IMPLEMENTED;
919     LIBABCKIT_TIME_EXEC;
920 
921     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
922     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
923 
924     return IcreateDynWideLdlexvarStatic(graph, imm0, imm1);
925 }
926 
IcreateDYNAMICStlexvar(AbckitGraph * graph,AbckitInst * acc,uint64_t imm0,uint64_t imm1)927 extern "C" AbckitInst *IcreateDYNAMICStlexvar(AbckitGraph *graph, AbckitInst *acc, uint64_t imm0, uint64_t imm1)
928 {
929     LIBABCKIT_CLEAR_LAST_ERROR;
930     LIBABCKIT_IMPLEMENTED;
931     LIBABCKIT_TIME_EXEC;
932 
933     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
934     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
935 
936     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
937     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
938     return IcreateDynStlexvarStatic(graph, acc, imm0, imm1);
939 }
940 
IcreateDYNAMICWideStlexvar(AbckitGraph * graph,AbckitInst * acc,uint64_t imm0,uint64_t imm1)941 extern "C" AbckitInst *IcreateDYNAMICWideStlexvar(AbckitGraph *graph, AbckitInst *acc, uint64_t imm0, uint64_t imm1)
942 {
943     LIBABCKIT_CLEAR_LAST_ERROR;
944     LIBABCKIT_IMPLEMENTED;
945     LIBABCKIT_TIME_EXEC;
946 
947     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
948     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
949 
950     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
951     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
952     return IcreateDynWideStlexvarStatic(graph, acc, imm0, imm1);
953 }
954 
IcreateDYNAMICGetmodulenamespace(AbckitGraph * graph,AbckitCoreModule * md)955 extern "C" AbckitInst *IcreateDYNAMICGetmodulenamespace(AbckitGraph *graph, AbckitCoreModule *md)
956 {
957     LIBABCKIT_CLEAR_LAST_ERROR;
958     LIBABCKIT_IMPLEMENTED;
959     LIBABCKIT_TIME_EXEC;
960 
961     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
962     LIBABCKIT_BAD_ARGUMENT(md, nullptr);
963 
964     LIBABCKIT_WRONG_CTX(graph->file, md->file, nullptr);
965     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
966     return IcreateDynGetmodulenamespaceStatic(graph, md);
967 }
968 
IcreateDYNAMICWideGetmodulenamespace(AbckitGraph * graph,AbckitCoreModule * md)969 extern "C" AbckitInst *IcreateDYNAMICWideGetmodulenamespace(AbckitGraph *graph, AbckitCoreModule *md)
970 {
971     LIBABCKIT_CLEAR_LAST_ERROR;
972     LIBABCKIT_IMPLEMENTED;
973     LIBABCKIT_TIME_EXEC;
974 
975     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
976     LIBABCKIT_BAD_ARGUMENT(md, nullptr);
977 
978     LIBABCKIT_WRONG_CTX(graph->file, md->file, nullptr);
979     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
980     return IcreateDynWideGetmodulenamespaceStatic(graph, md);
981 }
982 
IcreateDYNAMICStmodulevar(AbckitGraph * graph,AbckitInst * acc,AbckitCoreExportDescriptor * ed)983 extern "C" AbckitInst *IcreateDYNAMICStmodulevar(AbckitGraph *graph, AbckitInst *acc, AbckitCoreExportDescriptor *ed)
984 {
985     LIBABCKIT_CLEAR_LAST_ERROR;
986     LIBABCKIT_IMPLEMENTED;
987     LIBABCKIT_TIME_EXEC;
988 
989     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
990     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
991     LIBABCKIT_BAD_ARGUMENT(ed, nullptr);
992 
993     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
994     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
995     return IcreateDynStmodulevarStatic(graph, acc, ed);
996 }
997 
IcreateDYNAMICWideStmodulevar(AbckitGraph * graph,AbckitInst * acc,AbckitCoreExportDescriptor * ed)998 extern "C" AbckitInst *IcreateDYNAMICWideStmodulevar(AbckitGraph *graph, AbckitInst *acc,
999                                                      AbckitCoreExportDescriptor *ed)
1000 {
1001     LIBABCKIT_CLEAR_LAST_ERROR;
1002     LIBABCKIT_IMPLEMENTED;
1003     LIBABCKIT_TIME_EXEC;
1004 
1005     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1006     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1007     LIBABCKIT_BAD_ARGUMENT(ed, nullptr);
1008 
1009     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1010     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1011     return IcreateDynWideStmodulevarStatic(graph, acc, ed);
1012 }
1013 
IcreateDYNAMICTryldglobalbyname(AbckitGraph * graph,AbckitString * string)1014 extern "C" AbckitInst *IcreateDYNAMICTryldglobalbyname(AbckitGraph *graph, AbckitString *string)
1015 {
1016     LIBABCKIT_CLEAR_LAST_ERROR;
1017     LIBABCKIT_IMPLEMENTED;
1018     LIBABCKIT_TIME_EXEC;
1019 
1020     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1021     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1022     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1023 
1024     return IcreateDynTryldglobalbynameStatic(graph, string);
1025 }
1026 
IcreateDYNAMICTrystglobalbyname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string)1027 extern "C" AbckitInst *IcreateDYNAMICTrystglobalbyname(AbckitGraph *graph, AbckitInst *acc, AbckitString *string)
1028 {
1029     LIBABCKIT_CLEAR_LAST_ERROR;
1030     LIBABCKIT_IMPLEMENTED;
1031     LIBABCKIT_TIME_EXEC;
1032 
1033     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1034     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1035     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1036 
1037     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1038     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1039     return IcreateDynTrystglobalbynameStatic(graph, acc, string);
1040 }
1041 
IcreateDYNAMICLdglobalvar(AbckitGraph * graph,AbckitString * string)1042 extern "C" AbckitInst *IcreateDYNAMICLdglobalvar(AbckitGraph *graph, AbckitString *string)
1043 {
1044     LIBABCKIT_CLEAR_LAST_ERROR;
1045     LIBABCKIT_IMPLEMENTED;
1046     LIBABCKIT_TIME_EXEC;
1047 
1048     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1049     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1050     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1051 
1052     return IcreateDynLdglobalvarStatic(graph, string);
1053 }
1054 
IcreateDYNAMICStglobalvar(AbckitGraph * graph,AbckitInst * acc,AbckitString * string)1055 extern "C" AbckitInst *IcreateDYNAMICStglobalvar(AbckitGraph *graph, AbckitInst *acc, AbckitString *string)
1056 {
1057     LIBABCKIT_CLEAR_LAST_ERROR;
1058     LIBABCKIT_IMPLEMENTED;
1059     LIBABCKIT_TIME_EXEC;
1060 
1061     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1062     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1063     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1064 
1065     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1066     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1067     return IcreateDynStglobalvarStatic(graph, acc, string);
1068 }
1069 
IcreateDYNAMICLdobjbyname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string)1070 extern "C" AbckitInst *IcreateDYNAMICLdobjbyname(AbckitGraph *graph, AbckitInst *acc, AbckitString *string)
1071 {
1072     LIBABCKIT_CLEAR_LAST_ERROR;
1073     LIBABCKIT_IMPLEMENTED;
1074     LIBABCKIT_TIME_EXEC;
1075 
1076     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1077     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1078     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1079 
1080     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1081     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1082     return IcreateDynLdobjbynameStatic(graph, acc, string);
1083 }
1084 
IcreateDYNAMICStobjbyname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string,AbckitInst * input0)1085 extern "C" AbckitInst *IcreateDYNAMICStobjbyname(AbckitGraph *graph, AbckitInst *acc, AbckitString *string,
1086                                                  AbckitInst *input0)
1087 {
1088     LIBABCKIT_CLEAR_LAST_ERROR;
1089     LIBABCKIT_IMPLEMENTED;
1090     LIBABCKIT_TIME_EXEC;
1091 
1092     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1093     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1094     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1095     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
1096 
1097     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1098     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
1099     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1100     return IcreateDynStobjbynameStatic(graph, acc, string, input0);
1101 }
1102 
IcreateDYNAMICStownbyname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string,AbckitInst * input0)1103 extern "C" AbckitInst *IcreateDYNAMICStownbyname(AbckitGraph *graph, AbckitInst *acc, AbckitString *string,
1104                                                  AbckitInst *input0)
1105 {
1106     LIBABCKIT_CLEAR_LAST_ERROR;
1107     LIBABCKIT_IMPLEMENTED;
1108     LIBABCKIT_TIME_EXEC;
1109 
1110     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1111     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1112     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1113     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
1114 
1115     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1116     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
1117     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1118     return IcreateDynStownbynameStatic(graph, acc, string, input0);
1119 }
1120 
IcreateDYNAMICLdsuperbyname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string)1121 extern "C" AbckitInst *IcreateDYNAMICLdsuperbyname(AbckitGraph *graph, AbckitInst *acc, AbckitString *string)
1122 {
1123     LIBABCKIT_CLEAR_LAST_ERROR;
1124     LIBABCKIT_IMPLEMENTED;
1125     LIBABCKIT_TIME_EXEC;
1126 
1127     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1128     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1129     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1130 
1131     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1132     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1133     return IcreateDynLdsuperbynameStatic(graph, acc, string);
1134 }
1135 
IcreateDYNAMICStsuperbyname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string,AbckitInst * input0)1136 extern "C" AbckitInst *IcreateDYNAMICStsuperbyname(AbckitGraph *graph, AbckitInst *acc, AbckitString *string,
1137                                                    AbckitInst *input0)
1138 {
1139     LIBABCKIT_CLEAR_LAST_ERROR;
1140     LIBABCKIT_IMPLEMENTED;
1141     LIBABCKIT_TIME_EXEC;
1142 
1143     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1144     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1145     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1146     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
1147 
1148     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1149     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
1150     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1151     return IcreateDynStsuperbynameStatic(graph, acc, string, input0);
1152 }
1153 
IcreateDYNAMICLdlocalmodulevar(AbckitGraph * graph,AbckitCoreExportDescriptor * ed)1154 extern "C" AbckitInst *IcreateDYNAMICLdlocalmodulevar(AbckitGraph *graph, AbckitCoreExportDescriptor *ed)
1155 {
1156     LIBABCKIT_CLEAR_LAST_ERROR;
1157     LIBABCKIT_IMPLEMENTED;
1158     LIBABCKIT_TIME_EXEC;
1159 
1160     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1161     LIBABCKIT_BAD_ARGUMENT(ed, nullptr);
1162     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1163 
1164     return IcreateDynLdlocalmodulevarStatic(graph, ed);
1165 }
1166 
IcreateDYNAMICWideLdlocalmodulevar(AbckitGraph * graph,AbckitCoreExportDescriptor * ed)1167 extern "C" AbckitInst *IcreateDYNAMICWideLdlocalmodulevar(AbckitGraph *graph, AbckitCoreExportDescriptor *ed)
1168 {
1169     LIBABCKIT_CLEAR_LAST_ERROR;
1170     LIBABCKIT_IMPLEMENTED;
1171     LIBABCKIT_TIME_EXEC;
1172 
1173     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1174     LIBABCKIT_BAD_ARGUMENT(ed, nullptr);
1175     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1176 
1177     return IcreateDynWideLdlocalmodulevarStatic(graph, ed);
1178 }
1179 
IcreateDYNAMICLdexternalmodulevar(AbckitGraph * graph,AbckitCoreImportDescriptor * id)1180 extern "C" AbckitInst *IcreateDYNAMICLdexternalmodulevar(AbckitGraph *graph, AbckitCoreImportDescriptor *id)
1181 {
1182     LIBABCKIT_CLEAR_LAST_ERROR;
1183     LIBABCKIT_IMPLEMENTED;
1184     LIBABCKIT_TIME_EXEC;
1185 
1186     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1187     LIBABCKIT_BAD_ARGUMENT(id, nullptr);
1188     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1189 
1190     return IcreateDynLdexternalmodulevarStatic(graph, id);
1191 }
1192 
IcreateDYNAMICWideLdexternalmodulevar(AbckitGraph * graph,AbckitCoreImportDescriptor * id)1193 extern "C" AbckitInst *IcreateDYNAMICWideLdexternalmodulevar(AbckitGraph *graph, AbckitCoreImportDescriptor *id)
1194 {
1195     LIBABCKIT_CLEAR_LAST_ERROR;
1196     LIBABCKIT_IMPLEMENTED;
1197     LIBABCKIT_TIME_EXEC;
1198 
1199     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1200     LIBABCKIT_BAD_ARGUMENT(id, nullptr);
1201     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1202 
1203     return IcreateDynWideLdexternalmodulevarStatic(graph, id);
1204 }
1205 
IcreateDYNAMICStownbyvaluewithnameset(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0,AbckitInst * input1)1206 extern "C" AbckitInst *IcreateDYNAMICStownbyvaluewithnameset(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0,
1207                                                              AbckitInst *input1)
1208 {
1209     LIBABCKIT_CLEAR_LAST_ERROR;
1210     LIBABCKIT_IMPLEMENTED;
1211     LIBABCKIT_TIME_EXEC;
1212 
1213     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1214     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1215     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
1216     LIBABCKIT_BAD_ARGUMENT(input1, nullptr);
1217 
1218     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1219     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
1220     LIBABCKIT_WRONG_CTX(graph, input1->graph, nullptr);
1221     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1222     return IcreateDynStownbyvaluewithnamesetStatic(graph, acc, input0, input1);
1223 }
1224 
IcreateDYNAMICStownbynamewithnameset(AbckitGraph * graph,AbckitInst * acc,AbckitString * string,AbckitInst * input0)1225 extern "C" AbckitInst *IcreateDYNAMICStownbynamewithnameset(AbckitGraph *graph, AbckitInst *acc, AbckitString *string,
1226                                                             AbckitInst *input0)
1227 {
1228     LIBABCKIT_CLEAR_LAST_ERROR;
1229     LIBABCKIT_IMPLEMENTED;
1230     LIBABCKIT_TIME_EXEC;
1231 
1232     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1233     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1234     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1235     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
1236 
1237     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1238     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
1239     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1240     return IcreateDynStownbynamewithnamesetStatic(graph, acc, string, input0);
1241 }
1242 
IcreateDYNAMICLdbigint(AbckitGraph * graph,AbckitString * string)1243 extern "C" AbckitInst *IcreateDYNAMICLdbigint(AbckitGraph *graph, AbckitString *string)
1244 {
1245     LIBABCKIT_CLEAR_LAST_ERROR;
1246     LIBABCKIT_IMPLEMENTED;
1247     LIBABCKIT_TIME_EXEC;
1248 
1249     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1250     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1251     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1252 
1253     return IcreateDynLdbigintStatic(graph, string);
1254 }
1255 
IcreateDYNAMICLdthisbyname(AbckitGraph * graph,AbckitString * string)1256 extern "C" AbckitInst *IcreateDYNAMICLdthisbyname(AbckitGraph *graph, AbckitString *string)
1257 {
1258     LIBABCKIT_CLEAR_LAST_ERROR;
1259     LIBABCKIT_IMPLEMENTED;
1260     LIBABCKIT_TIME_EXEC;
1261 
1262     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1263     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1264     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1265 
1266     return IcreateDynLdthisbynameStatic(graph, string);
1267 }
1268 
IcreateDYNAMICStthisbyname(AbckitGraph * graph,AbckitInst * acc,AbckitString * string)1269 extern "C" AbckitInst *IcreateDYNAMICStthisbyname(AbckitGraph *graph, AbckitInst *acc, AbckitString *string)
1270 {
1271     LIBABCKIT_CLEAR_LAST_ERROR;
1272     LIBABCKIT_IMPLEMENTED;
1273     LIBABCKIT_TIME_EXEC;
1274 
1275     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1276     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1277     LIBABCKIT_BAD_ARGUMENT(string, nullptr);
1278 
1279     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1280     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1281     return IcreateDynStthisbynameStatic(graph, acc, string);
1282 }
1283 
IcreateDYNAMICLdthisbyvalue(AbckitGraph * graph,AbckitInst * acc)1284 extern "C" AbckitInst *IcreateDYNAMICLdthisbyvalue(AbckitGraph *graph, AbckitInst *acc)
1285 {
1286     LIBABCKIT_CLEAR_LAST_ERROR;
1287     LIBABCKIT_IMPLEMENTED;
1288     LIBABCKIT_TIME_EXEC;
1289 
1290     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1291     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1292 
1293     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1294     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1295     return IcreateDynLdthisbyvalueStatic(graph, acc);
1296 }
1297 
IcreateDYNAMICStthisbyvalue(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)1298 extern "C" AbckitInst *IcreateDYNAMICStthisbyvalue(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
1299 {
1300     LIBABCKIT_CLEAR_LAST_ERROR;
1301     LIBABCKIT_IMPLEMENTED;
1302     LIBABCKIT_TIME_EXEC;
1303 
1304     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1305     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1306     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
1307 
1308     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1309     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
1310     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1311     return IcreateDynStthisbyvalueStatic(graph, acc, input0);
1312 }
1313 
IcreateDYNAMICWideLdpatchvar(AbckitGraph * graph,uint64_t imm0)1314 extern "C" AbckitInst *IcreateDYNAMICWideLdpatchvar(AbckitGraph *graph, uint64_t imm0)
1315 {
1316     LIBABCKIT_CLEAR_LAST_ERROR;
1317     LIBABCKIT_IMPLEMENTED;
1318     LIBABCKIT_TIME_EXEC;
1319 
1320     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1321     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1322 
1323     return IcreateDynWideLdpatchvarStatic(graph, imm0);
1324 }
1325 
IcreateDYNAMICWideStpatchvar(AbckitGraph * graph,AbckitInst * acc,uint64_t imm0)1326 extern "C" AbckitInst *IcreateDYNAMICWideStpatchvar(AbckitGraph *graph, AbckitInst *acc, uint64_t imm0)
1327 {
1328     LIBABCKIT_CLEAR_LAST_ERROR;
1329     LIBABCKIT_IMPLEMENTED;
1330     LIBABCKIT_TIME_EXEC;
1331 
1332     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1333     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1334 
1335     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1336     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1337     return IcreateDynWideStpatchvarStatic(graph, acc, imm0);
1338 }
1339 
IcreateDYNAMICDynamicimport(AbckitGraph * graph,AbckitInst * acc)1340 extern "C" AbckitInst *IcreateDYNAMICDynamicimport(AbckitGraph *graph, AbckitInst *acc)
1341 {
1342     LIBABCKIT_CLEAR_LAST_ERROR;
1343     LIBABCKIT_IMPLEMENTED;
1344     LIBABCKIT_TIME_EXEC;
1345 
1346     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1347     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1348 
1349     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1350     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1351     return IcreateDynDynamicimportStatic(graph, acc);
1352 }
1353 
IcreateDYNAMICAsyncgeneratorreject(AbckitGraph * graph,AbckitInst * acc,AbckitInst * input0)1354 extern "C" AbckitInst *IcreateDYNAMICAsyncgeneratorreject(AbckitGraph *graph, AbckitInst *acc, AbckitInst *input0)
1355 {
1356     LIBABCKIT_CLEAR_LAST_ERROR;
1357     LIBABCKIT_IMPLEMENTED;
1358     LIBABCKIT_TIME_EXEC;
1359 
1360     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1361     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1362     LIBABCKIT_BAD_ARGUMENT(input0, nullptr);
1363 
1364     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1365     LIBABCKIT_WRONG_CTX(graph, input0->graph, nullptr);
1366     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1367     return IcreateDynAsyncgeneratorrejectStatic(graph, acc, input0);
1368 }
1369 
IcreateDYNAMICSetgeneratorstate(AbckitGraph * graph,AbckitInst * acc,uint64_t imm0)1370 extern "C" AbckitInst *IcreateDYNAMICSetgeneratorstate(AbckitGraph *graph, AbckitInst *acc, uint64_t imm0)
1371 {
1372     LIBABCKIT_CLEAR_LAST_ERROR;
1373     LIBABCKIT_IMPLEMENTED;
1374     LIBABCKIT_TIME_EXEC;
1375 
1376     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1377     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1378 
1379     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1380     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1381     return IcreateDynSetgeneratorstateStatic(graph, acc, imm0);
1382 }
1383 
IcreateDYNAMICReturn(AbckitGraph * graph,AbckitInst * acc)1384 extern "C" AbckitInst *IcreateDYNAMICReturn(AbckitGraph *graph, AbckitInst *acc)
1385 {
1386     LIBABCKIT_CLEAR_LAST_ERROR;
1387     LIBABCKIT_IMPLEMENTED;
1388     LIBABCKIT_TIME_EXEC;
1389 
1390     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1391     LIBABCKIT_BAD_ARGUMENT(acc, nullptr);
1392 
1393     LIBABCKIT_WRONG_CTX(graph, acc->graph, nullptr);
1394     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1395     return IcreateDynReturnStatic(graph, acc);
1396 }
1397 
IcreateDYNAMICReturnundefined(AbckitGraph * graph)1398 extern "C" AbckitInst *IcreateDYNAMICReturnundefined(AbckitGraph *graph)
1399 {
1400     LIBABCKIT_CLEAR_LAST_ERROR;
1401     LIBABCKIT_IMPLEMENTED;
1402     LIBABCKIT_TIME_EXEC;
1403 
1404     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1405     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1406 
1407     return IcreateDynReturnundefinedStatic(graph);
1408 }
1409 
IcreateDYNAMICIf(AbckitGraph * graph,AbckitInst * input,AbckitIsaApiDynamicConditionCode cc)1410 extern "C" AbckitInst *IcreateDYNAMICIf(AbckitGraph *graph, AbckitInst *input, AbckitIsaApiDynamicConditionCode cc)
1411 {
1412     LIBABCKIT_CLEAR_LAST_ERROR;
1413     LIBABCKIT_IMPLEMENTED;
1414     LIBABCKIT_TIME_EXEC;
1415 
1416     LIBABCKIT_BAD_ARGUMENT(graph, nullptr);
1417     LIBABCKIT_BAD_ARGUMENT(input, nullptr);
1418     if (cc == ABCKIT_ISA_API_DYNAMIC_CONDITION_CODE_CC_NONE) {
1419         statuses::SetLastError(ABCKIT_STATUS_BAD_ARGUMENT);
1420         return nullptr;
1421     }
1422 
1423     LIBABCKIT_WRONG_CTX(graph, input->graph, nullptr);
1424     LIBABCKIT_WRONG_MODE(graph, Mode::DYNAMIC, nullptr);
1425     return IcreateDynIfStatic(graph, input, cc);
1426 }
1427 
IgetDYNAMICConditionCode(AbckitInst * inst)1428 extern "C" AbckitIsaApiDynamicConditionCode IgetDYNAMICConditionCode(AbckitInst *inst)
1429 {
1430     LIBABCKIT_CLEAR_LAST_ERROR;
1431     LIBABCKIT_IMPLEMENTED;
1432     LIBABCKIT_TIME_EXEC;
1433 
1434     LIBABCKIT_BAD_ARGUMENT(inst, ABCKIT_ISA_API_DYNAMIC_CONDITION_CODE_CC_NONE);
1435 
1436     if (IgetDYNAMICOpcode(inst) != ABCKIT_ISA_API_DYNAMIC_OPCODE_IF) {
1437         statuses::SetLastError(ABCKIT_STATUS_BAD_ARGUMENT);
1438         LIBABCKIT_LOG(DEBUG) << "Trying to get condition code not from 'If' instruction\n";
1439         return ABCKIT_ISA_API_DYNAMIC_CONDITION_CODE_CC_NONE;
1440     }
1441 
1442     return IgetConditionCodeDynamicStatic(inst);
1443 }
1444 
IsetDYNAMICConditionCode(AbckitInst * inst,AbckitIsaApiDynamicConditionCode cc)1445 extern "C" void IsetDYNAMICConditionCode(AbckitInst *inst, AbckitIsaApiDynamicConditionCode cc)
1446 {
1447     LIBABCKIT_CLEAR_LAST_ERROR;
1448     LIBABCKIT_IMPLEMENTED;
1449     LIBABCKIT_TIME_EXEC;
1450 
1451     LIBABCKIT_BAD_ARGUMENT_VOID(inst);
1452     if (cc == ABCKIT_ISA_API_DYNAMIC_CONDITION_CODE_CC_NONE) {
1453         statuses::SetLastError(ABCKIT_STATUS_BAD_ARGUMENT);
1454         return;
1455     }
1456 
1457     if (IgetDYNAMICOpcode(inst) != ABCKIT_ISA_API_DYNAMIC_OPCODE_IF) {
1458         statuses::SetLastError(ABCKIT_STATUS_BAD_ARGUMENT);
1459         LIBABCKIT_LOG(DEBUG) << "Trying to get condition code not from 'If' instruction\n";
1460         return;
1461     }
1462 
1463     bool ccDynamicResitiction =
1464         !((cc == ABCKIT_ISA_API_DYNAMIC_CONDITION_CODE_CC_NE) || (cc == ABCKIT_ISA_API_DYNAMIC_CONDITION_CODE_CC_EQ));
1465     if (IsDynamic(inst->graph->function->owningModule->target) && ccDynamicResitiction) {
1466         statuses::SetLastError(ABCKIT_STATUS_BAD_ARGUMENT);
1467         LIBABCKIT_LOG(DEBUG) << "Wrong condition code set for dynamic if\n";
1468         return;
1469     }
1470 
1471     IsetConditionCodeDynamicStatic(inst, cc);
1472 }
1473 
IgetImportDescriptor(AbckitInst * inst)1474 extern "C" AbckitCoreImportDescriptor *IgetImportDescriptor(AbckitInst *inst)
1475 {
1476     LIBABCKIT_CLEAR_LAST_ERROR;
1477     LIBABCKIT_IMPLEMENTED;
1478     LIBABCKIT_TIME_EXEC;
1479 
1480     LIBABCKIT_BAD_ARGUMENT(inst, nullptr);
1481 
1482     return IgetImportDescriptorStatic(inst);
1483 }
1484 
IsetImportDescriptor(AbckitInst * inst,AbckitCoreImportDescriptor * id)1485 extern "C" void IsetImportDescriptor(AbckitInst *inst, AbckitCoreImportDescriptor *id)
1486 {
1487     LIBABCKIT_CLEAR_LAST_ERROR;
1488     LIBABCKIT_IMPLEMENTED;
1489     LIBABCKIT_TIME_EXEC;
1490 
1491     LIBABCKIT_BAD_ARGUMENT_VOID(inst);
1492     LIBABCKIT_BAD_ARGUMENT_VOID(id);
1493 
1494     IsetImportDescriptorStatic(inst, id);
1495 }
1496 
IgetExportDescriptor(AbckitInst * inst)1497 extern "C" AbckitCoreExportDescriptor *IgetExportDescriptor(AbckitInst *inst)
1498 {
1499     LIBABCKIT_CLEAR_LAST_ERROR;
1500     LIBABCKIT_IMPLEMENTED;
1501     LIBABCKIT_TIME_EXEC;
1502 
1503     LIBABCKIT_BAD_ARGUMENT(inst, nullptr);
1504 
1505     return IgetExportDescriptorStatic(inst);
1506 }
1507 
IsetExportDescriptor(AbckitInst * inst,AbckitCoreExportDescriptor * ed)1508 extern "C" void IsetExportDescriptor(AbckitInst *inst, AbckitCoreExportDescriptor *ed)
1509 {
1510     LIBABCKIT_CLEAR_LAST_ERROR;
1511     LIBABCKIT_IMPLEMENTED;
1512     LIBABCKIT_TIME_EXEC;
1513 
1514     LIBABCKIT_BAD_ARGUMENT_VOID(inst);
1515     LIBABCKIT_BAD_ARGUMENT_VOID(ed);
1516 
1517     IsetExportDescriptorStatic(inst, ed);
1518 }
1519 
IgetModule(AbckitInst * inst)1520 extern "C" AbckitCoreModule *IgetModule(AbckitInst *inst)
1521 {
1522     LIBABCKIT_CLEAR_LAST_ERROR;
1523     LIBABCKIT_IMPLEMENTED;
1524     LIBABCKIT_TIME_EXEC;
1525 
1526     LIBABCKIT_BAD_ARGUMENT(inst, nullptr);
1527 
1528     return IgetModuleStatic(inst);
1529 }
1530 
IsetModule(AbckitInst * inst,AbckitCoreModule * md)1531 extern "C" void IsetModule(AbckitInst *inst, AbckitCoreModule *md)
1532 {
1533     LIBABCKIT_CLEAR_LAST_ERROR;
1534     LIBABCKIT_IMPLEMENTED;
1535     LIBABCKIT_TIME_EXEC;
1536 
1537     LIBABCKIT_BAD_ARGUMENT_VOID(inst);
1538     LIBABCKIT_BAD_ARGUMENT_VOID(md);
1539 
1540     LIBABCKIT_WRONG_CTX_VOID(inst->graph->file, md->file);
1541     IsetModuleStatic(inst, md);
1542 }
1543 
1544 }  // namespace libabckit
1545