From cc0ccef87716fd8223fc16793c9ec3bc3249da13 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Wed, 6 Feb 2019 12:58:43 -0800 Subject: fix binaryen.js bindings handling of literals (#1896) The hardcoded 16 size was no longer valid. This was broken for a while, but happened to not overwrite important memory. Testing with the wasm backend did hit breakage. --- src/js/binaryen.js-post.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/js') diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index b2dba075b..1bbf7f48e 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -486,8 +486,8 @@ function wrapModule(module, self) { // need to make their own Literals, as the C API handles them by value, // which means we would leak them. Instead, this is the only API that // accepts Literals, so fuse it with Literal creation - var temp = _malloc(16); // a single literal in memory. the LLVM C ABI - // makes us pass pointers to this. + var temp = _malloc(Module['_BinaryenSizeofLiteral']()); // a single literal in memory. the LLVM C ABI + // makes us pass pointers to this. self['i32'] = { 'load': function(offset, align, ptr) { -- cgit v1.2.3