Skip to content

Commit 54d13b1

Browse files
authored
Add TypedFunctionReferences feature to C and JS API (#3603)
1 parent fd10f10 commit 54d13b1

File tree

7 files changed

+9
-0
lines changed

7 files changed

+9
-0
lines changed

src/binaryen-c.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,9 @@ BinaryenFeatures BinaryenFeatureGC(void) {
246246
BinaryenFeatures BinaryenFeatureMemory64(void) {
247247
return static_cast<BinaryenFeatures>(FeatureSet::Memory64);
248248
}
249+
BinaryenFeatures BinaryenFeatureTypedFunctionReferences(void) {
250+
return static_cast<BinaryenFeatures>(FeatureSet::TypedFunctionReferences);
251+
}
249252
BinaryenFeatures BinaryenFeatureAll(void) {
250253
return static_cast<BinaryenFeatures>(FeatureSet::All);
251254
}

src/binaryen-c.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ BINARYEN_API BinaryenFeatures BinaryenFeatureReferenceTypes(void);
159159
BINARYEN_API BinaryenFeatures BinaryenFeatureMultivalue(void);
160160
BINARYEN_API BinaryenFeatures BinaryenFeatureGC(void);
161161
BINARYEN_API BinaryenFeatures BinaryenFeatureMemory64(void);
162+
BINARYEN_API BinaryenFeatures BinaryenFeatureTypedFunctionReferences(void);
162163
BINARYEN_API BinaryenFeatures BinaryenFeatureAll(void);
163164

164165
// Modules

src/js/binaryen.js-post.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ function initializeConstants() {
141141
'Multivalue',
142142
'GC',
143143
'Memory64',
144+
'TypedFunctionReferences',
144145
'All'
145146
].forEach(name => {
146147
Module['Features'][name] = Module['_BinaryenFeature' + name]();

test/binaryen.js/kitchen-sink.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ function test_features() {
114114
console.log("Features.Multivalue: " + binaryen.Features.Multivalue);
115115
console.log("Features.GC: " + binaryen.Features.GC);
116116
console.log("Features.Memory64: " + binaryen.Features.Memory64);
117+
console.log("Features.TypedFunctionReferences: " + binaryen.Features.TypedFunctionReferences);
117118
console.log("Features.All: " + binaryen.Features.All);
118119
}
119120

test/binaryen.js/kitchen-sink.js.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Features.ReferenceTypes: 256
4141
Features.Multivalue: 512
4242
Features.GC: 1024
4343
Features.Memory64: 2048
44+
Features.TypedFunctionReferences: 4096
4445
Features.All: 8191
4546
InvalidId: 0
4647
BlockId: 1

test/example/c-api-kitchen-sink.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ void test_features() {
261261
printf("BinaryenFeatureMultivalue: %d\n", BinaryenFeatureMultivalue());
262262
printf("BinaryenFeatureGC: %d\n", BinaryenFeatureGC());
263263
printf("BinaryenFeatureMemory64: %d\n", BinaryenFeatureMemory64());
264+
printf("BinaryenFeatureTypedFunctionReferences: %d\n", BinaryenFeatureTypedFunctionReferences());
264265
printf("BinaryenFeatureAll: %d\n", BinaryenFeatureAll());
265266
}
266267

test/example/c-api-kitchen-sink.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ BinaryenFeatureReferenceTypes: 256
2525
BinaryenFeatureMultivalue: 512
2626
BinaryenFeatureGC: 1024
2727
BinaryenFeatureMemory64: 2048
28+
BinaryenFeatureTypedFunctionReferences: 4096
2829
BinaryenFeatureAll: 8191
2930
(f32.neg
3031
(f32.const -33.61199951171875)

0 commit comments

Comments
 (0)