Skip to content

Commit 096461c

Browse files
committed
Use sorted lists to maintain consistency between CI and local.
1 parent 94dce59 commit 096461c

File tree

5 files changed

+4615
-4613
lines changed

5 files changed

+4615
-4613
lines changed

ci/generate_checked_functions.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,14 @@ def generate_checked_headers(header_paths):
268268
for node in ast.ext
269269
if isinstance(node, c_ast.Decl) and isinstance(node.type, c_ast.FuncDecl)
270270
]
271+
functions = sorted(functions, key=lambda f: f.name)
271272

272273
return_types = {
273274
" ".join(func.type.type.type.names)
274275
for func in functions
275276
if isinstance(func.type.type, c_ast.TypeDecl)
276277
}
278+
return_types = sorted(return_types)
277279

278280
result_struct = generate_result_struct(return_types)
279281
write_checked_header(output_path, result_struct, functions, typedefs)

core/iwasm/include/aot_export_checked.h

Lines changed: 91 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
typedef struct {
2020
int error_code; // Error code (0 for success, non-zero for errors)
2121
union {
22-
uint32_t uint32_t_value;
2322
_Bool _Bool_value;
24-
aot_obj_data_t aot_obj_data_t_value;
25-
aot_comp_data_t aot_comp_data_t_value;
2623
aot_comp_context_t aot_comp_context_t_value;
24+
aot_comp_data_t aot_comp_data_t_value;
25+
aot_obj_data_t aot_obj_data_t_value;
26+
uint32_t uint32_t_value;
2727
// Add other types as needed
2828
} value;
2929
} Result;
@@ -45,40 +45,23 @@ aot_call_stack_features_init_default_checked(void *features)
4545
}
4646

4747
static inline Result
48-
aot_create_comp_data_checked(void *wasm_module, void *target_arch,
49-
_Bool gc_enabled)
48+
aot_compile_wasm_checked(aot_comp_context_t comp_ctx)
5049
{
5150
Result res;
52-
// Check for null pointer parameter: wasm_module
53-
if (wasm_module == NULL) {
54-
res.error_code = -1;
55-
return res;
56-
}
57-
// Check for null pointer parameter: target_arch
58-
if (target_arch == NULL) {
59-
res.error_code = -1;
60-
return res;
61-
}
6251
// Execute the original function
63-
aot_comp_data_t original_result =
64-
aot_create_comp_data(wasm_module, target_arch, gc_enabled);
52+
_Bool original_result = aot_compile_wasm(comp_ctx);
6553
// Assign return value and error code
66-
if (original_result != NULL) {
67-
res.error_code = 0;
68-
res.value.aot_comp_data_t_value = original_result;
69-
}
70-
else {
71-
res.error_code = -2;
72-
}
54+
res.error_code = original_result ? 0 : -2;
55+
res.value._Bool_value = original_result;
7356
return res;
7457
}
7558

7659
static inline Result
77-
aot_destroy_comp_data_checked(aot_comp_data_t comp_data)
60+
aot_compiler_destroy_checked(void)
7861
{
7962
Result res;
8063
// Execute the original function
81-
aot_destroy_comp_data(comp_data);
64+
aot_compiler_destroy();
8265
// Assign return value and error code
8366
res.error_code = 0;
8467
return res;
@@ -96,17 +79,6 @@ aot_compiler_init_checked(void)
9679
return res;
9780
}
9881

99-
static inline Result
100-
aot_compiler_destroy_checked(void)
101-
{
102-
Result res;
103-
// Execute the original function
104-
aot_compiler_destroy();
105-
// Assign return value and error code
106-
res.error_code = 0;
107-
return res;
108-
}
109-
11082
static inline Result
11183
aot_create_comp_context_checked(aot_comp_data_t comp_data,
11284
aot_comp_option_t option)
@@ -127,73 +99,87 @@ aot_create_comp_context_checked(aot_comp_data_t comp_data,
12799
}
128100

129101
static inline Result
130-
aot_destroy_comp_context_checked(aot_comp_context_t comp_ctx)
102+
aot_create_comp_data_checked(void *wasm_module, void *target_arch,
103+
_Bool gc_enabled)
131104
{
132105
Result res;
106+
// Check for null pointer parameter: wasm_module
107+
if (wasm_module == NULL) {
108+
res.error_code = -1;
109+
return res;
110+
}
111+
// Check for null pointer parameter: target_arch
112+
if (target_arch == NULL) {
113+
res.error_code = -1;
114+
return res;
115+
}
133116
// Execute the original function
134-
aot_destroy_comp_context(comp_ctx);
117+
aot_comp_data_t original_result =
118+
aot_create_comp_data(wasm_module, target_arch, gc_enabled);
135119
// Assign return value and error code
136-
res.error_code = 0;
120+
if (original_result != NULL) {
121+
res.error_code = 0;
122+
res.value.aot_comp_data_t_value = original_result;
123+
}
124+
else {
125+
res.error_code = -2;
126+
}
137127
return res;
138128
}
139129

140130
static inline Result
141-
aot_compile_wasm_checked(aot_comp_context_t comp_ctx)
131+
aot_destroy_aot_file_checked(void *aot_file)
142132
{
143133
Result res;
134+
// Check for null pointer parameter: aot_file
135+
if (aot_file == NULL) {
136+
res.error_code = -1;
137+
return res;
138+
}
144139
// Execute the original function
145-
_Bool original_result = aot_compile_wasm(comp_ctx);
140+
aot_destroy_aot_file(aot_file);
146141
// Assign return value and error code
147-
res.error_code = original_result ? 0 : -2;
148-
res.value._Bool_value = original_result;
142+
res.error_code = 0;
149143
return res;
150144
}
151145

152146
static inline Result
153-
aot_obj_data_create_checked(aot_comp_context_t comp_ctx)
147+
aot_destroy_comp_context_checked(aot_comp_context_t comp_ctx)
154148
{
155149
Result res;
156150
// Execute the original function
157-
aot_obj_data_t original_result = aot_obj_data_create(comp_ctx);
151+
aot_destroy_comp_context(comp_ctx);
158152
// Assign return value and error code
159-
if (original_result != NULL) {
160-
res.error_code = 0;
161-
res.value.aot_obj_data_t_value = original_result;
162-
}
163-
else {
164-
res.error_code = -2;
165-
}
153+
res.error_code = 0;
166154
return res;
167155
}
168156

169157
static inline Result
170-
aot_obj_data_destroy_checked(aot_obj_data_t obj_data)
158+
aot_destroy_comp_data_checked(aot_comp_data_t comp_data)
171159
{
172160
Result res;
173161
// Execute the original function
174-
aot_obj_data_destroy(obj_data);
162+
aot_destroy_comp_data(comp_data);
175163
// Assign return value and error code
176164
res.error_code = 0;
177165
return res;
178166
}
179167

180168
static inline Result
181-
aot_get_aot_file_size_checked(aot_comp_context_t comp_ctx,
182-
aot_comp_data_t comp_data,
183-
aot_obj_data_t obj_data)
169+
aot_emit_aot_file_checked(aot_comp_context_t comp_ctx,
170+
aot_comp_data_t comp_data, void *file_name)
184171
{
185172
Result res;
173+
// Check for null pointer parameter: file_name
174+
if (file_name == NULL) {
175+
res.error_code = -1;
176+
return res;
177+
}
186178
// Execute the original function
187-
uint32_t original_result =
188-
aot_get_aot_file_size(comp_ctx, comp_data, obj_data);
179+
_Bool original_result = aot_emit_aot_file(comp_ctx, comp_data, file_name);
189180
// Assign return value and error code
190-
if (original_result == 0) {
191-
res.error_code = 0;
192-
res.value.uint32_t_value = original_result;
193-
}
194-
else {
195-
res.error_code = -2;
196-
}
181+
res.error_code = original_result ? 0 : -2;
182+
res.value._Bool_value = original_result;
197183
return res;
198184
}
199185

@@ -270,65 +256,79 @@ aot_emit_object_file_checked(aot_comp_context_t comp_ctx, void *file_name)
270256
}
271257

272258
static inline Result
273-
aot_emit_aot_file_checked(aot_comp_context_t comp_ctx,
274-
aot_comp_data_t comp_data, void *file_name)
259+
aot_get_aot_file_size_checked(aot_comp_context_t comp_ctx,
260+
aot_comp_data_t comp_data,
261+
aot_obj_data_t obj_data)
275262
{
276263
Result res;
277-
// Check for null pointer parameter: file_name
278-
if (file_name == NULL) {
279-
res.error_code = -1;
280-
return res;
281-
}
282264
// Execute the original function
283-
_Bool original_result = aot_emit_aot_file(comp_ctx, comp_data, file_name);
265+
uint32_t original_result =
266+
aot_get_aot_file_size(comp_ctx, comp_data, obj_data);
284267
// Assign return value and error code
285-
res.error_code = original_result ? 0 : -2;
286-
res.value._Bool_value = original_result;
268+
if (original_result == 0) {
269+
res.error_code = 0;
270+
res.value.uint32_t_value = original_result;
271+
}
272+
else {
273+
res.error_code = -2;
274+
}
287275
return res;
288276
}
289277

290278
static inline Result
291-
aot_destroy_aot_file_checked(void *aot_file)
279+
aot_get_last_error_checked(void)
292280
{
293281
Result res;
294-
// Check for null pointer parameter: aot_file
295-
if (aot_file == NULL) {
296-
res.error_code = -1;
297-
return res;
298-
}
299282
// Execute the original function
300-
aot_destroy_aot_file(aot_file);
283+
aot_get_last_error();
301284
// Assign return value and error code
302285
res.error_code = 0;
303286
return res;
304287
}
305288

306289
static inline Result
307-
aot_get_last_error_checked(void)
290+
aot_get_plt_table_size_checked(void)
308291
{
309292
Result res;
310293
// Execute the original function
311-
aot_get_last_error();
294+
uint32_t original_result = aot_get_plt_table_size();
312295
// Assign return value and error code
313-
res.error_code = 0;
296+
if (original_result == 0) {
297+
res.error_code = 0;
298+
res.value.uint32_t_value = original_result;
299+
}
300+
else {
301+
res.error_code = -2;
302+
}
314303
return res;
315304
}
316305

317306
static inline Result
318-
aot_get_plt_table_size_checked(void)
307+
aot_obj_data_create_checked(aot_comp_context_t comp_ctx)
319308
{
320309
Result res;
321310
// Execute the original function
322-
uint32_t original_result = aot_get_plt_table_size();
311+
aot_obj_data_t original_result = aot_obj_data_create(comp_ctx);
323312
// Assign return value and error code
324-
if (original_result == 0) {
313+
if (original_result != NULL) {
325314
res.error_code = 0;
326-
res.value.uint32_t_value = original_result;
315+
res.value.aot_obj_data_t_value = original_result;
327316
}
328317
else {
329318
res.error_code = -2;
330319
}
331320
return res;
332321
}
333322

323+
static inline Result
324+
aot_obj_data_destroy_checked(aot_obj_data_t obj_data)
325+
{
326+
Result res;
327+
// Execute the original function
328+
aot_obj_data_destroy(obj_data);
329+
// Assign return value and error code
330+
res.error_code = 0;
331+
return res;
332+
}
333+
334334
#endif // AOT_EXPORT_CHECKED_H

0 commit comments

Comments
 (0)