summaryrefslogtreecommitdiff
path: root/src/js/binaryen.js-post.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/binaryen.js-post.js')
-rw-r--r--src/js/binaryen.js-post.js89
1 files changed, 20 insertions, 69 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 7f5467312..b02216509 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -65,7 +65,8 @@ function initializeConstants() {
'Select',
'Drop',
'Return',
- 'Host',
+ 'MemorySize',
+ 'MemoryGrow',
'Nop',
'Unreachable',
'AtomicCmpxchg',
@@ -265,8 +266,6 @@ function initializeConstants() {
'LeFloat64',
'GtFloat64',
'GeFloat64',
- 'MemorySize',
- 'MemoryGrow',
'AtomicRMWAdd',
'AtomicRMWSub',
'AtomicRMWAnd',
@@ -599,10 +598,10 @@ function wrapModule(module, self = {}) {
self['memory'] = {
'size'() {
- return Module['_BinaryenHost'](module, Module['MemorySize']);
+ return Module['_BinaryenMemorySize'](module);
},
'grow'(value) {
- return Module['_BinaryenHost'](module, Module['MemoryGrow'], null, i32sToStack([value]), 1);
+ return Module['_BinaryenMemoryGrow'](module, value);
},
'init'(segment, dest, offset, size) {
return Module['_BinaryenMemoryInit'](module, segment, dest, offset, size);
@@ -2092,9 +2091,6 @@ function wrapModule(module, self = {}) {
self['return'] = function(value) {
return Module['_BinaryenReturn'](module, value);
};
- self['host'] = function(op, name, operands = []) {
- return preserveStack(() => Module['_BinaryenHost'](module, op, strToStack(name), i32sToStack(operands), operands.length));
- };
self['nop'] = function() {
return Module['_BinaryenNop'](module);
};
@@ -2637,14 +2633,17 @@ Module['getExpressionInfo'] = function(expr) {
'id': id,
'type': type
};
- case Module['HostId']:
+ case Module['MemorySizeId']:
return {
'id': id,
- 'type': type,
- 'op': Module['_BinaryenHostGetOp'](expr),
- 'nameOperand': UTF8ToString(Module['_BinaryenHostGetNameOperand'](expr)),
- 'operands': getAllNested(expr, Module['_BinaryenHostGetNumOperands'], Module['_BinaryenHostGetOperandAt'])
+ 'type': type
};
+ case Module['MemoryGrowId']:
+ return {
+ 'id': id,
+ 'type': type,
+ 'delta': Module['_BinaryenMemoryGrowGetDelta'](expr)
+ }
case Module['AtomicRMWId']:
return {
'id': id,
@@ -3479,63 +3478,15 @@ Module['GlobalSet'] = makeExpressionWrapper({
}
});
-Module['Host'] = makeExpressionWrapper({
- 'getOp'(expr) {
- return Module['_BinaryenHostGetOp'](expr);
- },
- 'setOp'(expr, op) {
- Module['_BinaryenHostSetOp'](expr, op);
- },
- 'getNameOperand'(expr) {
- const name = Module['_BinaryenHostGetNameOperand'](expr);
- return name ? UTF8ToString(name) : null;
- },
- 'setNameOperand'(expr, name) {
- preserveStack(() => { Module['_BinaryenHostSetNameOperand'](expr, strToStack(name)) });
- },
- 'getNumOperands'(expr) {
- return Module['_BinaryenHostGetNumOperands'](expr);
- },
- 'getOperands'(expr) {
- const numOperands = Module['_BinaryenHostGetNumOperands'](expr);
- const operands = new Array(numOperands);
- let index = 0;
- while (index < numOperands) {
- operands[index] = Module['_BinaryenHostGetOperandAt'](expr, index++);
- }
- return operands;
- },
- 'setOperands'(expr, operands) {
- const numOperands = operands.length;
- let prevNumOperands = Module['_BinaryenHostGetNumOperands'](expr);
- let index = 0;
- while (index < numOperands) {
- if (index < prevNumOperands) {
- Module['_BinaryenHostSetOperandAt'](expr, index, operands[index]);
- } else {
- Module['_BinaryenHostAppendOperand'](expr, operands[index]);
- }
- ++index;
- }
- while (prevNumOperands > index) {
- Module['_BinaryenHostRemoveOperandAt'](expr, --prevNumOperands);
- }
- },
- 'getOperandAt'(expr, index) {
- return Module['_BinaryenHostGetOperandAt'](expr, index);
- },
- 'setOperandAt'(expr, index, operandExpr) {
- Module['_BinaryenHostSetOperandAt'](expr, index, operandExpr);
- },
- 'appendOperand'(expr, operandExpr) {
- return Module['_BinaryenHostAppendOperand'](expr, operandExpr);
- },
- 'insertOperandAt'(expr, index, operandExpr) {
- Module['_BinaryenHostInsertOperandAt'](expr, index, operandExpr);
- },
- 'removeOperandAt'(expr, index) {
- return Module['_BinaryenHostRemoveOperandAt'](expr, index);
+Module['MemorySize'] = makeExpressionWrapper({});
+
+Module['MemoryGrow'] = makeExpressionWrapper({
+ 'getDelta'(expr) {
+ return Module['_BinaryenMemoryGrowGetDelta'](expr);
},
+ 'setDelta'(expr, deltaExpr) {
+ Module['_BinaryenMemoryGrowSetDelta'](expr, deltaExpr);
+ }
});
Module['Load'] = makeExpressionWrapper({