summaryrefslogtreecommitdiff
path: root/test/binaryen.js/pass-arguments.js.txt
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2020-04-13 14:02:58 -0700
committerGitHub <noreply@github.com>2020-04-13 14:02:58 -0700
commitc16bfeebb5879e9512f2bbf7d611b3b1e0be7dee (patch)
treeb31308a321e869d2bf64ddbffc0a59e91df80d62 /test/binaryen.js/pass-arguments.js.txt
parentc45ae16497ea76ad24982813cace1927565b0d45 (diff)
downloadbinaryen-c16bfeebb5879e9512f2bbf7d611b3b1e0be7dee.tar.gz
binaryen-c16bfeebb5879e9512f2bbf7d611b3b1e0be7dee.tar.bz2
binaryen-c16bfeebb5879e9512f2bbf7d611b3b1e0be7dee.zip
Use direct pointers as Type IDs (#2745)
Instead of using indices into the global interned type table. This means that a lock is *never* needed to access an expanded Type. The Type lock is now only acquired when a complex Type is created. On a real-world wasm2js workload this improves wall clock time by 23% on my machine with 72 cores and makes traffic on the Type lock entirely insignificant. **Before** 72 cores real 0m6.914s user 184.014s sys 0m3.995s 1 core real 0m25.903s user 0m25.658s sys 0m0.253s **After** 72 cores real 5.349s user 70.309s sys 9.691s 1 core real 25.859s user 25.615s sys 0.253s
Diffstat (limited to 'test/binaryen.js/pass-arguments.js.txt')
-rw-r--r--test/binaryen.js/pass-arguments.js.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/test/binaryen.js/pass-arguments.js.txt b/test/binaryen.js/pass-arguments.js.txt
index f877b2248..df98df08c 100644
--- a/test/binaryen.js/pass-arguments.js.txt
+++ b/test/binaryen.js/pass-arguments.js.txt
@@ -3,6 +3,7 @@
#include <map>
#include "binaryen-c.h"
int main() {
+ std::map<size_t, BinaryenType> types;
std::map<size_t, BinaryenExpressionRef> expressions;
std::map<size_t, BinaryenFunctionRef> functions;
std::map<size_t, BinaryenGlobalRef> globals;