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