summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Wirtz <dcode@dcode.io>2020-09-21 22:32:39 +0200
committerGitHub <noreply@github.com>2020-09-21 22:32:39 +0200
commit5eebc8a4d053ed7bcbd88f787cab60b0f246e71d (patch)
treeadb74ac33ad5ff24830b1d408976d302a2df7a14
parent51350a8d2e7a361cf658951798351fc242420328 (diff)
downloadbinaryen-5eebc8a4d053ed7bcbd88f787cab60b0f246e71d.tar.gz
binaryen-5eebc8a4d053ed7bcbd88f787cab60b0f246e71d.tar.bz2
binaryen-5eebc8a4d053ed7bcbd88f787cab60b0f246e71d.zip
Add Memory64 feature flag to the C and JS APIs (#3148)
-rw-r--r--src/binaryen-c.cpp3
-rw-r--r--src/binaryen-c.h1
-rw-r--r--src/js/binaryen.js-post.js1
-rw-r--r--test/binaryen.js/kitchen-sink.js1
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt1
-rw-r--r--test/example/c-api-kitchen-sink.c1
-rw-r--r--test/example/c-api-kitchen-sink.txt1
7 files changed, 9 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 6dc6f7821..8524b7622 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -344,6 +344,9 @@ BinaryenFeatures BinaryenFeatureMultivalue(void) {
BinaryenFeatures BinaryenFeatureGC(void) {
return static_cast<BinaryenFeatures>(FeatureSet::GC);
}
+BinaryenFeatures BinaryenFeatureMemory64(void) {
+ return static_cast<BinaryenFeatures>(FeatureSet::Memory64);
+}
BinaryenFeatures BinaryenFeatureAll(void) {
return static_cast<BinaryenFeatures>(FeatureSet::All);
}
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index ff1af8ff4..5ca07316f 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -202,6 +202,7 @@ BINARYEN_API BinaryenFeatures BinaryenFeatureTailCall(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureReferenceTypes(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureMultivalue(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureGC(void);
+BINARYEN_API BinaryenFeatures BinaryenFeatureMemory64(void);
BINARYEN_API BinaryenFeatures BinaryenFeatureAll(void);
// Modules
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index e24b50984..baaa71429 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -126,6 +126,7 @@ function initializeConstants() {
'ReferenceTypes',
'Multivalue',
'GC',
+ 'Memory64',
'All'
].forEach(name => {
Module['Features'][name] = Module['_BinaryenFeature' + name]();
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index 69c812bf7..f699e96e0 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -113,6 +113,7 @@ function test_features() {
console.log("Features.ReferenceTypes: " + binaryen.Features.ReferenceTypes);
console.log("Features.Multivalue: " + binaryen.Features.Multivalue);
console.log("Features.GC: " + binaryen.Features.GC);
+ console.log("Features.Memory64: " + binaryen.Features.Memory64);
console.log("Features.All: " + binaryen.Features.All);
}
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index b94811be5..1c11e787e 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -40,6 +40,7 @@ Features.TailCall: 128
Features.ReferenceTypes: 256
Features.Multivalue: 512
Features.GC: 1024
+Features.Memory64: 2048
Features.All: 4095
InvalidId: 0
BlockId: 1
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index 6b4aaec7d..09a6897eb 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -260,6 +260,7 @@ void test_features() {
printf("BinaryenFeatureReferenceTypes: %d\n", BinaryenFeatureReferenceTypes());
printf("BinaryenFeatureMultivalue: %d\n", BinaryenFeatureMultivalue());
printf("BinaryenFeatureGC: %d\n", BinaryenFeatureGC());
+ printf("BinaryenFeatureMemory64: %d\n", BinaryenFeatureMemory64());
printf("BinaryenFeatureAll: %d\n", BinaryenFeatureAll());
}
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index e2dd48ad4..29ead874f 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -24,6 +24,7 @@ BinaryenFeatureTailCall: 128
BinaryenFeatureReferenceTypes: 256
BinaryenFeatureMultivalue: 512
BinaryenFeatureGC: 1024
+BinaryenFeatureMemory64: 2048
BinaryenFeatureAll: 4095
(f32.neg
(f32.const -33.61199951171875)