Skip to content

Commit 773efc0

Browse files
authoredMay 14, 2024
Change WASM_ANYREF to WASM_EXTERNREF (bytecodealliance#3426)
wasm-c-api wasm.h had changed WASM_ANYREF to WASM_EXTERNREF, we had better change it in WAMR also: https://github.com/WebAssembly/wasm-c-api/blob/2ce1367c9d1271c83fb63bef26d896a2f290cd23/include/wasm.h#L185
1 parent 004d07b commit 773efc0

File tree

12 files changed

+42
-42
lines changed

12 files changed

+42
-42
lines changed
 

‎core/iwasm/common/wasm_c_api.c

+13-13
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ val_type_rt_2_valkind(uint8 val_type_rt)
759759
#undef WAMR_VAL_TYPE_2_WASM_VAL_KIND
760760

761761
default:
762-
return WASM_ANYREF;
762+
return WASM_EXTERNREF;
763763
}
764764
}
765765

@@ -776,7 +776,7 @@ wasm_valtype_new(wasm_valkind_t kind)
776776

777777
if (kind > WASM_V128 && WASM_FUNCREF != kind
778778
#if WASM_ENABLE_GC == 0 && WASM_ENABLE_REF_TYPES != 0
779-
&& WASM_ANYREF != kind
779+
&& WASM_EXTERNREF != kind
780780
#endif
781781
) {
782782
return NULL;
@@ -808,7 +808,7 @@ wasm_valtype_copy(const wasm_valtype_t *src)
808808
wasm_valkind_t
809809
wasm_valtype_kind(const wasm_valtype_t *val_type)
810810
{
811-
return val_type ? val_type->kind : WASM_ANYREF;
811+
return val_type ? val_type->kind : WASM_EXTERNREF;
812812
}
813813

814814
static wasm_functype_t *
@@ -976,7 +976,7 @@ cmp_val_kind_with_val_type(wasm_valkind_t v_k, uint8 v_t)
976976
|| (v_k == WASM_F32 && v_t == VALUE_TYPE_F32)
977977
|| (v_k == WASM_F64 && v_t == VALUE_TYPE_F64)
978978
|| (v_k == WASM_V128 && v_t == VALUE_TYPE_V128)
979-
|| (v_k == WASM_ANYREF && v_t == VALUE_TYPE_EXTERNREF)
979+
|| (v_k == WASM_EXTERNREF && v_t == VALUE_TYPE_EXTERNREF)
980980
|| (v_k == WASM_FUNCREF && v_t == VALUE_TYPE_FUNCREF);
981981
}
982982

@@ -1135,7 +1135,7 @@ wasm_tabletype_new(own wasm_valtype_t *val_type, const wasm_limits_t *limits)
11351135

11361136
if (wasm_valtype_kind(val_type) != WASM_FUNCREF
11371137
#if WASM_ENABLE_GC == 0 && WASM_ENABLE_REF_TYPES != 0
1138-
&& wasm_valtype_kind(val_type) != WASM_ANYREF
1138+
&& wasm_valtype_kind(val_type) != WASM_EXTERNREF
11391139
#endif
11401140
) {
11411141
return NULL;
@@ -1653,7 +1653,7 @@ rt_val_to_wasm_val(const uint8 *data, uint8 val_type_rt, wasm_val_t *out)
16531653
break;
16541654
#if WASM_ENABLE_GC == 0 && WASM_ENABLE_REF_TYPES != 0
16551655
case VALUE_TYPE_EXTERNREF:
1656-
out->kind = WASM_ANYREF;
1656+
out->kind = WASM_EXTERNREF;
16571657
if (NULL_REF == *(uint32 *)data) {
16581658
out->of.ref = NULL;
16591659
}
@@ -1697,7 +1697,7 @@ wasm_val_to_rt_val(WASMModuleInstanceCommon *inst_comm_rt, uint8 val_type_rt,
16971697
break;
16981698
#if WASM_ENABLE_GC == 0 && WASM_ENABLE_REF_TYPES != 0
16991699
case VALUE_TYPE_EXTERNREF:
1700-
bh_assert(WASM_ANYREF == v->kind);
1700+
bh_assert(WASM_EXTERNREF == v->kind);
17011701
ret =
17021702
wasm_externref_obj2ref(inst_comm_rt, v->of.ref, (uint32 *)data);
17031703
break;
@@ -3263,7 +3263,7 @@ params_to_argv(const wasm_val_vec_t *params,
32633263
bh_assert(0);
32643264
break;
32653265
#if WASM_ENABLE_GC == 0 && WASM_ENABLE_REF_TYPES != 0
3266-
case WASM_ANYREF:
3266+
case WASM_EXTERNREF:
32673267
*(uintptr_t *)argv = (uintptr_t)param->of.ref;
32683268
argv += sizeof(uintptr_t) / sizeof(uint32);
32693269
break;
@@ -3308,7 +3308,7 @@ argv_to_results(const uint32 *argv, const wasm_valtype_vec_t *result_defs,
33083308
bh_assert(0);
33093309
break;
33103310
#if WASM_ENABLE_GC == 0 && WASM_ENABLE_REF_TYPES != 0
3311-
case WASM_ANYREF:
3311+
case WASM_EXTERNREF:
33123312
result->of.ref = (struct wasm_ref_t *)(*(uintptr_t *)argv);
33133313
argv += sizeof(uintptr_t) / sizeof(uint32);
33143314
break;
@@ -4034,7 +4034,7 @@ wasm_table_get(const wasm_table_t *table, wasm_table_size_t index)
40344034
}
40354035

40364036
#if WASM_ENABLE_REF_TYPES != 0
4037-
if (table->type->val_type->kind == WASM_ANYREF) {
4037+
if (table->type->val_type->kind == WASM_EXTERNREF) {
40384038
void *externref_obj;
40394039
if (!wasm_externref_ref2obj(ref_idx, &externref_obj)) {
40404040
return NULL;
@@ -4064,7 +4064,7 @@ wasm_table_set(wasm_table_t *table, wasm_table_size_t index,
40644064
if (ref
40654065
#if WASM_ENABLE_REF_TYPES != 0
40664066
&& !(WASM_REF_foreign == ref->kind
4067-
&& WASM_ANYREF == table->type->val_type->kind)
4067+
&& WASM_EXTERNREF == table->type->val_type->kind)
40684068
#endif
40694069
&& !(WASM_REF_func == ref->kind
40704070
&& WASM_FUNCREF == table->type->val_type->kind)) {
@@ -4111,7 +4111,7 @@ wasm_table_set(wasm_table_t *table, wasm_table_size_t index,
41114111
}
41124112

41134113
#if WASM_ENABLE_REF_TYPES != 0
4114-
if (table->type->val_type->kind == WASM_ANYREF) {
4114+
if (table->type->val_type->kind == WASM_EXTERNREF) {
41154115
return wasm_externref_obj2ref(table->inst_comm_rt, ref, p_ref_idx);
41164116
}
41174117
else
@@ -5268,7 +5268,7 @@ wasm_externkind_t
52685268
wasm_extern_kind(const wasm_extern_t *external)
52695269
{
52705270
if (!external) {
5271-
return WASM_ANYREF;
5271+
return WASM_EXTERNREF;
52725272
}
52735273

52745274
return external->kind;

‎core/iwasm/common/wasm_runtime_common.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -2000,7 +2000,7 @@ val_type_to_val_kind(uint8 value_type)
20002000
case VALUE_TYPE_FUNCREF:
20012001
return WASM_FUNCREF;
20022002
case VALUE_TYPE_EXTERNREF:
2003-
return WASM_ANYREF;
2003+
return WASM_EXTERNREF;
20042004
default:
20052005
bh_assert(0);
20062006
return 0;
@@ -2318,7 +2318,7 @@ parse_args_to_uint32_array(WASMFuncType *type, wasm_val_t *args,
23182318
#else
23192319
case WASM_FUNCREF:
23202320
#endif
2321-
case WASM_ANYREF:
2321+
case WASM_EXTERNREF:
23222322
{
23232323
#if UINTPTR_MAX == UINT32_MAX
23242324
out_argv[p++] = args[i].of.foreign;
@@ -2419,7 +2419,7 @@ parse_uint32_array_to_results(WASMFuncType *type, uint32 *argv,
24192419
#endif /* end of WASM_ENABLE_GC == 0 */
24202420
{
24212421
#if UINTPTR_MAX == UINT32_MAX
2422-
out_results[i].kind = WASM_ANYREF;
2422+
out_results[i].kind = WASM_EXTERNREF;
24232423
out_results[i].of.foreign = (uintptr_t)argv[p++];
24242424
#else
24252425
union {
@@ -2428,7 +2428,7 @@ parse_uint32_array_to_results(WASMFuncType *type, uint32 *argv,
24282428
} u;
24292429
u.parts[0] = argv[p++];
24302430
u.parts[1] = argv[p++];
2431-
out_results[i].kind = WASM_ANYREF;
2431+
out_results[i].kind = WASM_EXTERNREF;
24322432
out_results[i].of.foreign = u.val;
24332433
#endif
24342434
break;
@@ -2582,7 +2582,7 @@ wasm_runtime_call_wasm_v(WASMExecEnv *exec_env,
25822582
}
25832583
case VALUE_TYPE_EXTERNREF:
25842584
{
2585-
args[i].kind = WASM_ANYREF;
2585+
args[i].kind = WASM_EXTERNREF;
25862586
args[i].of.foreign = va_arg(vargs, uintptr_t);
25872587
break;
25882588
}
@@ -6528,7 +6528,7 @@ argv_to_params(wasm_val_t *out_params, const uint32 *argv,
65286528
break;
65296529
#if WASM_ENABLE_GC == 0 && WASM_ENABLE_REF_TYPES != 0
65306530
case VALUE_TYPE_EXTERNREF:
6531-
param->kind = WASM_ANYREF;
6531+
param->kind = WASM_EXTERNREF;
65326532

65336533
if (!wasm_externref_ref2obj(*argv,
65346534
(void **)&param->of.foreign)) {

‎core/iwasm/include/wasm_c_api.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ enum wasm_valkind_enum {
298298
WASM_F32,
299299
WASM_F64,
300300
WASM_V128,
301-
WASM_ANYREF = 128,
301+
WASM_EXTERNREF = 128,
302302
WASM_FUNCREF,
303303
};
304304
#endif
@@ -308,10 +308,10 @@ WASM_API_EXTERN own wasm_valtype_t* wasm_valtype_new(wasm_valkind_t);
308308
WASM_API_EXTERN wasm_valkind_t wasm_valtype_kind(const wasm_valtype_t*);
309309

310310
static inline bool wasm_valkind_is_num(wasm_valkind_t k) {
311-
return k < WASM_ANYREF;
311+
return k < WASM_EXTERNREF;
312312
}
313313
static inline bool wasm_valkind_is_ref(wasm_valkind_t k) {
314-
return k >= WASM_ANYREF;
314+
return k >= WASM_EXTERNREF;
315315
}
316316

317317
static inline bool wasm_valtype_is_num(const wasm_valtype_t* t) {
@@ -712,7 +712,7 @@ static inline own wasm_valtype_t* wasm_valtype_new_v128(void) {
712712
}
713713

714714
static inline own wasm_valtype_t* wasm_valtype_new_anyref(void) {
715-
return wasm_valtype_new(WASM_ANYREF);
715+
return wasm_valtype_new(WASM_EXTERNREF);
716716
}
717717
static inline own wasm_valtype_t* wasm_valtype_new_funcref(void) {
718718
return wasm_valtype_new(WASM_FUNCREF);
@@ -872,8 +872,8 @@ static inline void* wasm_val_ptr(const wasm_val_t* val) {
872872
#define WASM_I64_VAL(i) {.kind = WASM_I64, ._paddings = {0}, .of = {.i64 = i}}
873873
#define WASM_F32_VAL(z) {.kind = WASM_F32, ._paddings = {0}, .of = {.f32 = z}}
874874
#define WASM_F64_VAL(z) {.kind = WASM_F64, ._paddings = {0}, .of = {.f64 = z}}
875-
#define WASM_REF_VAL(r) {.kind = WASM_ANYREF, ._paddings = {0}, .of = {.ref = r}}
876-
#define WASM_INIT_VAL {.kind = WASM_ANYREF, ._paddings = {0}, .of = {.ref = NULL}}
875+
#define WASM_REF_VAL(r) {.kind = WASM_EXTERNREF, ._paddings = {0}, .of = {.ref = r}}
876+
#define WASM_INIT_VAL {.kind = WASM_EXTERNREF, ._paddings = {0}, .of = {.ref = NULL}}
877877

878878
#define KILOBYTE(n) ((n) * 1024)
879879

‎core/iwasm/include/wasm_export.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ enum wasm_valkind_enum {
250250
WASM_F32,
251251
WASM_F64,
252252
WASM_V128,
253-
WASM_ANYREF = 128,
253+
WASM_EXTERNREF = 128,
254254
WASM_FUNCREF,
255255
};
256256
#endif

‎language-bindings/go/wamr/instance.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ func (self *Instance) CallFuncV(funcName string,
211211
case int32:
212212
if (param_types[i] != C.WASM_I32 &&
213213
param_types[i] != C.WASM_FUNCREF &&
214-
param_types[i] != C.WASM_ANYREF) {
214+
param_types[i] != C.WASM_EXTERNREF) {
215215
str := "CallFunc error: invalid param type %d, " +
216216
"expect i32 but got other"
217217
return fmt.Errorf(str, param_types[i])
@@ -273,7 +273,7 @@ func (self *Instance) CallFuncV(funcName string,
273273
fallthrough
274274
case C.WASM_FUNCREF:
275275
fallthrough
276-
case C.WASM_ANYREF:
276+
case C.WASM_EXTERNREF:
277277
i32 := (int32)(argv[argc])
278278
results[i] = i32
279279
argc++

‎language-bindings/python/src/wamr/wasmcapi/binding.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ def wasm_valtype_copy(arg0):
213213
WASM_I64 = 1
214214
WASM_F32 = 2
215215
WASM_F64 = 3
216-
WASM_ANYREF = 128
216+
WASM_EXTERNREF = 128
217217
WASM_FUNCREF = 129
218218

219219
def wasm_valtype_new(arg0):

‎language-bindings/python/src/wamr/wasmcapi/ffi.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def __repr_wasm_valtype_t(self):
180180
elif WASM_FUNCREF == val_kind:
181181
return "funcref"
182182
else:
183-
return "anyref"
183+
return "externref"
184184

185185

186186
wasm_valtype_t.__eq__ = __compare_wasm_valtype_t
@@ -406,7 +406,7 @@ def __compare_wasm_val_t(self, other):
406406
return self.of.f32 == other.of.f32
407407
elif WASM_F64 == self.kind:
408408
return self.of.f64 == other.of.f63
409-
elif WASM_ANYREF == self.kind:
409+
elif WASM_EXTERNREF == self.kind:
410410
raise RuntimeError("FIXME")
411411
else:
412412
raise RuntimeError("not a valid val kind")
@@ -421,8 +421,8 @@ def __repr_wasm_val_t(self):
421421
return f"f32 {self.of.f32}"
422422
elif WASM_F64 == self.kind:
423423
return f"f64 {self.of.f64}"
424-
elif WASM_ANYREF == self.kind:
425-
return f"anyref {self.of.ref}"
424+
elif WASM_EXTERNREF == self.kind:
425+
return f"externref {self.of.ref}"
426426
else:
427427
raise RuntimeError("not a valid val kind")
428428

‎language-bindings/python/wasm-c-api/tests/test_basic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def assertIsNotNullPointer(self, c_pointer):
6161

6262
def test_wasm_valkind(self):
6363
self.assertEqual(
64-
[WASM_I32, WASM_I64, WASM_F32, WASM_F64, WASM_ANYREF, WASM_FUNCREF],
64+
[WASM_I32, WASM_I64, WASM_F32, WASM_F64, WASM_EXTERNREF, WASM_FUNCREF],
6565
[0, 1, 2, 3, 128, 129],
6666
)
6767

‎samples/ref-types/src/hello.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ wasm_get_externref(wasm_exec_env_t exec_env, wasm_module_inst_t inst,
9393
return false;
9494
}
9595

96-
if (WASM_ANYREF != results[0].kind) {
96+
if (WASM_EXTERNREF != results[0].kind) {
9797
return false;
9898
}
9999

@@ -108,7 +108,7 @@ wasm_cmp_externref(wasm_exec_env_t exec_env, wasm_module_inst_t inst,
108108
wasm_val_t results[1] = { 0 };
109109
wasm_val_t arguments[2] = {
110110
{ .kind = WASM_I32, .of.i32 = index },
111-
{ .kind = WASM_ANYREF, .of.foreign = externref },
111+
{ .kind = WASM_EXTERNREF, .of.foreign = externref },
112112
};
113113

114114
if (!exec_env || !wasm_cmp_externref_ptr || !ret_result) {

‎samples/wasm-c-api/src/callback.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ void wasm_val_print(wasm_val_t val) {
2222
case WASM_F64: {
2323
printf("%g", val.of.f64);
2424
} break;
25-
case WASM_ANYREF:
25+
case WASM_EXTERNREF:
2626
case WASM_FUNCREF: {
2727
if (val.of.ref == NULL) {
2828
printf("null");

‎samples/wasm-c-api/src/hostref.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ int main(int argc, const char* argv[]) {
193193
// Create external callback function.
194194
printf("Creating callback...\n");
195195
own wasm_functype_t* callback_type = wasm_functype_new_1_1(
196-
wasm_valtype_new(WASM_ANYREF), wasm_valtype_new(WASM_ANYREF));
196+
wasm_valtype_new(WASM_EXTERNREF), wasm_valtype_new(WASM_EXTERNREF));
197197
own wasm_func_t* callback_func =
198198
wasm_func_new(store, callback_type, callback);
199199

@@ -245,7 +245,7 @@ int main(int argc, const char* argv[]) {
245245
wasm_ref_delete(host2_cp);
246246

247247
own wasm_val_t val;
248-
val.kind = WASM_ANYREF;
248+
val.kind = WASM_EXTERNREF;
249249
val.of.ref = wasm_ref_copy(host1);
250250
wasm_ref_t *ref_cp = wasm_ref_copy(val.of.ref);
251251
check(ref_cp, host1);
@@ -264,12 +264,12 @@ int main(int argc, const char* argv[]) {
264264
check(call_v_r(global_get), NULL);
265265

266266
wasm_global_get(global, &val);
267-
assert(val.kind == WASM_ANYREF);
267+
assert(val.kind == WASM_EXTERNREF);
268268
assert(val.of.ref == NULL);
269269
val.of.ref = host2;
270270
wasm_global_set(global, &val);
271271
wasm_global_get(global, &val);
272-
assert(val.kind == WASM_ANYREF);
272+
assert(val.kind == WASM_EXTERNREF);
273273
assert(val.of.ref == host2);
274274

275275
printf("Accessing table...\n");

‎samples/wasm-c-api/src/reflect.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ void print_valtype(const wasm_valtype_t* type) {
3030
case WASM_F32: printf("f32"); break;
3131
case WASM_F64: printf("f64"); break;
3232
case WASM_V128: printf("v128"); break;
33-
case WASM_ANYREF: printf("anyref"); break;
33+
case WASM_EXTERNREF: printf("externref"); break;
3434
case WASM_FUNCREF: printf("funcref"); break;
3535
}
3636
}

0 commit comments

Comments
 (0)
Please sign in to comment.