summaryrefslogtreecommitdiff
path: root/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js')
-rw-r--r--src/js/binaryen.js-post.js22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 9e1534070..d2a8eb7f5 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -2616,22 +2616,16 @@ function wrapModule(module, self = {}) {
return Module['_BinaryenGetElementSegmentByIndex'](module, index);
};
self['emitText'] = function() {
- const old = out;
- let ret = '';
- out = x => { ret += x + '\n' };
- Module['_BinaryenModulePrint'](module);
- out = old;
- return ret;
+ let textPtr = Module['_BinaryenModuleAllocateAndWriteText'](module);
+ let text = UTF8ToString(textPtr);
+ if (textPtr) _free(textPtr);
+ return text;
};
self['emitStackIR'] = function(optimize) {
- self['runPasses'](['generate-stack-ir']);
- if (optimize) self['runPasses'](['optimize-stack-ir']);
- const old = out;
- let ret = '';
- out = x => { ret += x + '\n' };
- self['runPasses'](['print-stack-ir']);
- out = old;
- return ret;
+ let textPtr = Module['_BinaryenModuleAllocateAndWriteStackIR'](module, optimize);
+ let text = UTF8ToString(textPtr);
+ if (textPtr) _free(textPtr);
+ return text;
};
self['emitAsmjs'] = function() {
const old = out;