summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/binaryen-c.cpp2
-rw-r--r--src/binaryen-c.h2
-rw-r--r--src/js/binaryen.js-post.js5
-rw-r--r--src/passes/Print.cpp7
-rw-r--r--src/wasm-interpreter.h6
-rw-r--r--src/wasm.h2
-rw-r--r--src/wasm/wasm-s-parser.cpp8
-rw-r--r--src/wasm/wasm-validator.cpp4
-rw-r--r--src/wasm/wasm.cpp2
9 files changed, 4 insertions, 34 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index e52c1ac37..45000ba95 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -381,10 +381,8 @@ BinaryenOp BinaryenLtFloat64(void) { return LtFloat64; }
BinaryenOp BinaryenLeFloat64(void) { return LeFloat64; }
BinaryenOp BinaryenGtFloat64(void) { return GtFloat64; }
BinaryenOp BinaryenGeFloat64(void) { return GeFloat64; }
-BinaryenOp BinaryenPageSize(void) { return PageSize; }
BinaryenOp BinaryenCurrentMemory(void) { return CurrentMemory; }
BinaryenOp BinaryenGrowMemory(void) { return GrowMemory; }
-BinaryenOp BinaryenHasFeature(void) { return HasFeature; }
BinaryenOp BinaryenAtomicRMWAdd(void) { return AtomicRMWOp::Add; }
BinaryenOp BinaryenAtomicRMWSub(void) { return AtomicRMWOp::Sub; }
BinaryenOp BinaryenAtomicRMWAnd(void) { return AtomicRMWOp::And; }
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index bde519aa7..95892443d 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -316,10 +316,8 @@ BinaryenOp BinaryenLtFloat64(void);
BinaryenOp BinaryenLeFloat64(void);
BinaryenOp BinaryenGtFloat64(void);
BinaryenOp BinaryenGeFloat64(void);
-BinaryenOp BinaryenPageSize(void);
BinaryenOp BinaryenCurrentMemory(void);
BinaryenOp BinaryenGrowMemory(void);
-BinaryenOp BinaryenHasFeature(void);
BinaryenOp BinaryenAtomicRMWAdd(void);
BinaryenOp BinaryenAtomicRMWSub(void);
BinaryenOp BinaryenAtomicRMWAnd(void);
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index f387acb4f..6b5aab0fc 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -196,10 +196,8 @@ Module['LtFloat64'] = Module['_BinaryenLtFloat64']();
Module['LeFloat64'] = Module['_BinaryenLeFloat64']();
Module['GtFloat64'] = Module['_BinaryenGtFloat64']();
Module['GeFloat64'] = Module['_BinaryenGeFloat64']();
-Module['PageSize'] = Module['_BinaryenPageSize']();
Module['CurrentMemory'] = Module['_BinaryenCurrentMemory']();
Module['GrowMemory'] = Module['_BinaryenGrowMemory']();
-Module['HasFeature'] = Module['_BinaryenHasFeature']();
Module['AtomicRMWAdd'] = Module['_BinaryenAtomicRMWAdd']();
Module['AtomicRMWSub'] = Module['_BinaryenAtomicRMWSub']();
Module['AtomicRMWAnd'] = Module['_BinaryenAtomicRMWAnd']();
@@ -283,9 +281,6 @@ Module['Module'] = function(module) {
this['growMemory'] = this['grow_memory'] = function(value) {
return Module['_BinaryenHost'](module, Module['GrowMemory'], null, i32sToStack([value]), 1);
}
- this['hasFeature'] = this['has_feature'] = function(name) {
- return Module['_BinaryenHost'](module, Module['HasFeature'], strToStack(name));
- }
// The Const creation API is a little different: we don't want users to
// need to make their own Literals, as the C API handles them by value,
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index 28e7cc34f..87fa62b95 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -397,10 +397,8 @@ struct PrintExpressionContents : public Visitor<PrintExpressionContents> {
}
void visitHost(Host* curr) {
switch (curr->op) {
- case PageSize: printMedium(o, "pagesize"); break;
case CurrentMemory: printMedium(o, "current_memory"); break;
case GrowMemory: printMedium(o, "grow_memory"); break;
- case HasFeature: printMedium(o, "hasfeature ") << curr->nameOperand; break;
default: WASM_UNREACHABLE();
}
}
@@ -773,11 +771,6 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
decIndent();
break;
}
- case HasFeature: {
- o << curr->nameOperand;
- o << ')';
- break;
- }
default: {
o << ')';
}
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index a2c4aad43..820ba0049 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -925,7 +925,6 @@ public:
Flow visitHost(Host *curr) {
NOTE_ENTER("Host");
switch (curr->op) {
- case PageSize: return Literal((int32_t)Memory::kPageSize);
case CurrentMemory: return Literal(int32_t(instance.memorySize));
case GrowMemory: {
auto fail = Literal(int32_t(-1));
@@ -941,11 +940,6 @@ public:
instance.memorySize = newSize;
return Literal(int32_t(ret));
}
- case HasFeature: {
- Name id = curr->nameOperand;
- if (id == WASM) return Literal(1);
- return Literal((int32_t)0);
- }
default: WASM_UNREACHABLE();
}
}
diff --git a/src/wasm.h b/src/wasm.h
index 49b0881b9..6d1f67972 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -123,7 +123,7 @@ enum BinaryOp {
};
enum HostOp {
- PageSize, CurrentMemory, GrowMemory, HasFeature
+ CurrentMemory, GrowMemory
};
enum AtomicRMWOp {
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp
index 818af49ba..a25d3491b 100644
--- a/src/wasm/wasm-s-parser.cpp
+++ b/src/wasm/wasm-s-parser.cpp
@@ -832,7 +832,6 @@ Expression* SExpressionWasmBuilder::makeExpression(Element& s) {
abort_on(str);
}
case 'h': {
- if (str[1] == 'a') return makeHost(s, HostOp::HasFeature);
abort_on(str);
}
case 'i': {
@@ -848,7 +847,6 @@ Expression* SExpressionWasmBuilder::makeExpression(Element& s) {
abort_on(str);
}
case 'p': {
- if (str[1] == 'a') return makeHost(s, HostOp::PageSize);
abort_on(str);
}
case 's': {
@@ -975,11 +973,7 @@ Expression* SExpressionWasmBuilder::makeDrop(Element& s) {
Expression* SExpressionWasmBuilder::makeHost(Element& s, HostOp op) {
auto ret = allocator.alloc<Host>();
ret->op = op;
- if (op == HostOp::HasFeature) {
- ret->nameOperand = s[1]->str();
- } else {
- parseCallOperands(s, 1, s.size(), ret);
- }
+ parseCallOperands(s, 1, s.size(), ret);
if (ret->op == HostOp::GrowMemory) {
if (ret->operands.size() != 1) {
throw ParseException("grow_memory needs one operand");
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp
index 4a6ed19be..d57607ce6 100644
--- a/src/wasm/wasm-validator.cpp
+++ b/src/wasm/wasm-validator.cpp
@@ -802,9 +802,7 @@ void FunctionValidator::visitHost(Host* curr) {
shouldBeEqualOrFirstIsUnreachable(curr->operands[0]->type, i32, curr, "grow_memory must have i32 operand");
break;
}
- case PageSize:
- case CurrentMemory:
- case HasFeature: break;
+ case CurrentMemory: break;
default: WASM_UNREACHABLE();
}
}
diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp
index 433803772..ac3623cee 100644
--- a/src/wasm/wasm.cpp
+++ b/src/wasm/wasm.cpp
@@ -558,7 +558,7 @@ void Drop::finalize() {
void Host::finalize() {
switch (op) {
- case PageSize: case CurrentMemory: case HasFeature: {
+ case CurrentMemory: {
type = i32;
break;
}