summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2020-06-23 09:20:50 -0700
committerGitHub <noreply@github.com>2020-06-23 09:20:50 -0700
commit92423bebfc267373b28f5cf8c28e5711767adb4c (patch)
tree8676095dabcaeda54da8dc9c01871e525f5ba5ce /scripts
parent63e580f737352d877fb90b4efca2eee89d780755 (diff)
downloadbinaryen-92423bebfc267373b28f5cf8c28e5711767adb4c.tar.gz
binaryen-92423bebfc267373b28f5cf8c28e5711767adb4c.tar.bz2
binaryen-92423bebfc267373b28f5cf8c28e5711767adb4c.zip
Asyncify liveness analysis (#2890)
This finds out which locals are live at call sites that might pause/resume, which is the set of locals we need to actually save/load. That is, if a local is not alive at any call site in the function, then it's value doesn't need to stay alive while sleeping. This saves about 10% of locals that are saved/loaded, and about 1.5% in final code size.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/fuzz_opt.py4
1 files changed, 0 insertions, 4 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py
index 76d97bd2e..9c8af1106 100755
--- a/scripts/fuzz_opt.py
+++ b/scripts/fuzz_opt.py
@@ -545,10 +545,6 @@ class Asyncify(TestCaseHandler):
print('ignoring due to pre-asyncify difference')
return
- # TODO: also something that actually does async sleeps in the code, say
- # on the logging commands?
- # --remove-unused-module-elements removes the asyncify intrinsics, which are not valid to call
-
def do_asyncify(wasm):
cmd = [in_bin('wasm-opt'), wasm, '--asyncify', '-o', 'async.t.wasm']
# if we allow NaNs, running binaryen optimizations and then