Skip to content

Commit

Permalink
subrepos/binaryen: Memcpy data instead of bytewise copies (#3521) (1b…
Browse files Browse the repository at this point in the history
…950a1c4eb7b1a0a1d71c7e68e223fe57fdff66)

wasm-finalize currently makes byte-wise copies of section data in the
user and data sections. If the section is large, that's extraordinarily
expensive. With a memcpy instead I see a speedup of 1.6 for a large
wasm binary with DWARF data.
  • Loading branch information
pipcet committed Jan 27, 2021
1 parent ed714a2 commit 0bbaae3
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion subrepos/binaryen
Submodule binaryen updated 59 files
+23 −21 CMakeLists.txt
+8 −2 scripts/gen-s-parser.py
+2 −1 scripts/test/wasm_opt.py
+16 −11 src/binaryen-c.cpp
+10 −5 src/binaryen-c.h
+31 −3 src/gen-s-parser.inc
+2 −1 src/ir/ReFinalize.cpp
+2 −1 src/ir/cost.h
+7 −1 src/ir/effects.h
+20 −7 src/js/binaryen.js-post.js
+15 −5 src/pass.h
+4 −0 src/passes/CoalesceLocals.cpp
+4 −0 src/passes/DeadArgumentElimination.cpp
+3 −0 src/passes/DuplicateFunctionElimination.cpp
+5 −0 src/passes/Flatten.cpp
+4 −0 src/passes/Inlining.cpp
+4 −0 src/passes/LocalCSE.cpp
+4 −0 src/passes/MergeLocals.cpp
+7 −0 src/passes/Metrics.cpp
+43 −7 src/passes/Print.cpp
+4 −0 src/passes/SSAify.cpp
+77 −88 src/passes/pass.cpp
+2 −1 src/tools/fuzzing.h
+10 −2 src/wasm-binary.h
+10 −2 src/wasm-builder.h
+5 −0 src/wasm-debug.h
+12 −4 src/wasm-delegations-fields.h
+2 −1 src/wasm-delegations.h
+47 −3 src/wasm-interpreter.h
+2 −1 src/wasm-s-parser.h
+31 −3 src/wasm.h
+72 −22 src/wasm/wasm-binary.cpp
+6 −0 src/wasm/wasm-debug.cpp
+1 −1 src/wasm/wasm-emscripten.cpp
+7 −2 src/wasm/wasm-s-parser.cpp
+33 −2 src/wasm/wasm-stack.cpp
+4 −4 src/wasm/wasm-validator.cpp
+31 −137 src/wasm/wasm.cpp
+8 −5 src/wasm2js.h
+32 −16 test/binaryen.js/expressions.js
+1 −1 test/binaryen.js/expressions.js.txt
+1 −1 test/binaryen.js/kitchen-sink.js
+1 −1 test/binaryen.js/kitchen-sink.js.txt
+2 −2 test/example/c-api-kitchen-sink.c
+10 −0 test/heap-types.wast
+38 −0 test/heap-types.wast.from-wast
+38 −0 test/heap-types.wast.fromBinary
+38 −0 test/heap-types.wast.fromBinary.noDebugInfo
+16 −16 test/passes/O3_low-memory-unused_metrics.txt
+30 −30 test/passes/converge_O3_metrics.bin.txt
+24 −24 test/passes/func-metrics.txt
+20 −20 test/passes/fuzz_metrics_noprint.bin.txt
+5 −5 test/passes/metrics_all-features.txt
+2 −2 test/passes/metrics_strip-debug_metrics.bin.txt
+2 −2 test/passes/metrics_strip-producers_metrics.bin.txt
+11 −11 test/passes/print_g_metrics.bin.txt
+8 −8 test/passes/too_much_for_liveness.bin.txt
+28 −28 test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
+12 −0 test/unit/test_dwarf.py

0 comments on commit 0bbaae3

Please sign in to comment.