fizzy
fizzy copied to clipboard
Update wasm3 to 0.5.0
We still need a patch for the start function, see https://github.com/wasm3/wasm3/issues/202. And also a memory leak issue: https://github.com/wasm3/wasm3/issues/203.
At least we could get rid of https://github.com/wasm3/wasm3/pull/130, https://github.com/wasm3/wasm3/pull/129, and https://github.com/wasm3/wasm3/pull/145.
Codecov Report
Merging #739 (91bab22) into master (3581284) will decrease coverage by
0.00%
. The diff coverage isn/a
.
:exclamation: Current head 91bab22 differs from pull request most recent head 8761680. Consider uploading reports for the commit 8761680 to get more accurate results
@@ Coverage Diff @@
## master #739 +/- ##
==========================================
- Coverage 99.27% 99.27% -0.01%
==========================================
Files 88 88
Lines 13296 13158 -138
==========================================
- Hits 13200 13062 -138
Misses 96 96
Flag | Coverage Δ | |
---|---|---|
rust | 98.47% <0.00%> (-0.01%) |
:arrow_down: |
spectests | 90.00% <0.00%> (+0.07%) |
:arrow_up: |
unittests | 99.21% <0.00%> (-0.01%) |
:arrow_down: |
unittests-32 | 99.31% <0.00%> (-0.01%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
Impacted Files | Coverage Δ | |
---|---|---|
lib/fizzy/capi.cpp | 95.41% <0.00%> (-0.28%) |
:arrow_down: |
lib/fizzy/execute.cpp | 99.29% <0.00%> (-0.01%) |
:arrow_down: |
bindings/rust/src/lib.rs | 98.76% <0.00%> (-0.01%) |
:arrow_down: |
lib/fizzy/execute.hpp | 100.00% <0.00%> (ø) |
|
lib/fizzy/instructions.cpp | 100.00% <0.00%> (ø) |
|
lib/fizzy/execution_context.hpp | 100.00% <0.00%> (ø) |
|
test/unittests/execute_test.cpp | 100.00% <0.00%> (ø) |
|
test/unittests/capi_execute_test.cpp | 100.00% <0.00%> (ø) |
|
test/unittests/execute_floating_point_test.cpp | 99.71% <0.00%> (+<0.01%) |
:arrow_up: |
This is not ready to merge, as I would wait for a wasm3 release, but @chfast @gumb0 I think it is ready for review.
My plan is we release 0.8.0, then merge this and release 0.8.1. Then it is simple to show benchmarks for both, if needed.
Should update to 0.5.0.
This PR actually fails on macOS:
clang: fatal error: the clang compiler does not support '-march=native'
clang: fatal error: the clang compiler does not support '-march=native'
make[5]: *** [source/CMakeFiles/m3.dir/m3_api_uvwasi.c.o] Error 1
Despite that we have -DBUILD_NATIVE=OFF
in the cmake, it seems upstream had a bug https://github.com/wasm3/wasm3/pull/225/. Should be fixed in 0.5.0.
Merging this is still blocked on benchmarks running out of stack space or something:
23/23 Test #5: fizzy/smoketests/bench/benchmarks .....................Subprocess aborted***Exception: 0.32 sec
2023-03-03T00:12:35+00:00
Running /home/builder/build/bin/fizzy-bench
Run on (36 X 3203.04 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x18)
L1 Instruction 32 KiB (x18)
L2 Unified 1024 KiB (x18)
L3 Unified 25344 KiB (x1)
Load Average: 13.59, 16.22, 17.43
***WARNING*** Library was built as DEBUG. Timings may be affected.
-------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
-------------------------------------------------------------------------------------------------------------
fizzy/parse/arith 51.2 us 51.2 us 333 rate=1092.81k/s size=56
fizzyc/parse/arith 30.2 us 30.2 us 443 rate=1.8543M/s size=56
wabt/parse/arith 44.5 us 44.5 us 312 rate=1.25833M/s size=56
wasm3/parse/arith 1.15 us 1.15 us 12107 rate=48.6236M/s size=56
fizzy/instantiate/arith 36.7 us 36.7 us 385
fizzyc/instantiate/arith 45.1 us 45.1 us 354
wabt/instantiate/arith 80.4 us 79.9 us 137
wasm3/instantiate/arith 4.04 us 4.04 us 3286
fizzy/execute/arith/addition 0.630 us 0.630 us 26441
fizzyc/execute/arith/addition 0.524 us 0.524 us 27211
wabt/execute/arith/addition 3.45 us 3.44 us 4017
wasm3/execute/arith/addition 0.149 us 0.149 us 138437
fizzy/execute/arith/division_by_zero ERROR OCCURRED: 'Trapped'
fizzyc/execute/arith/division_by_zero ERROR OCCURRED: 'Trapped'
wabt/execute/arith/division_by_zero ERROR OCCURRED: 'Trapped'
wasm3/execute/arith/division_by_zero ERROR OCCURRED: 'Trapped'
fizzy/execute/arith/memory_initialization_failure ERROR OCCURRED: 'Memory initialization failed'
fizzyc/execute/arith/memory_initialization_failure ERROR OCCURRED: 'Memory initialization failed'
wabt/execute/arith/memory_initialization_failure ERROR OCCURRED: 'Memory initialization failed'
wasm3/execute/arith/memory_initialization_failure ERROR OCCURRED: 'Memory initialization failed'
fizzy/execute/arith/unexcepted_result ERROR OCCURRED: 'Unexpected result value: 1'
fizzyc/execute/arith/unexcepted_result ERROR OCCURRED: 'Unexpected result value: 1'
wabt/execute/arith/unexcepted_result ERROR OCCURRED: 'Unexpected result value: 1'
wasm3/execute/arith/unexcepted_result ERROR OCCURRED: 'Unexpected result value: 1'
fizzy/execute/arith/expected_memory_shorter ERROR OCCURRED: 'Result memory is shorter than expected'
fizzyc/execute/arith/expected_memory_shorter ERROR OCCURRED: 'Result memory is shorter than expected'
wabt/execute/arith/expected_memory_shorter ERROR OCCURRED: 'Result memory is shorter than expected'
wasm3/execute/arith/expected_memory_shorter ERROR OCCURRED: 'Result memory is shorter than expected'
fizzy/execute/arith/missing_function ERROR OCCURRED: 'Function "sub" not found'
fizzyc/execute/arith/missing_function ERROR OCCURRED: 'Function "sub" not found'
wabt/execute/arith/missing_function ERROR OCCURRED: 'Function "sub" not found'
wasm3/execute/arith/missing_function ERROR OCCURRED: 'Function "sub" not found'
fizzy/execute/arith/incorrect_result_value ERROR OCCURRED: 'Incorrect result value, expected: 5, got: 4'
fizzyc/execute/arith/incorrect_result_value ERROR OCCURRED: 'Incorrect result value, expected: 5, got: 4'
wabt/execute/arith/incorrect_result_value ERROR OCCURRED: 'Incorrect result value, expected: 5, got: 4'
wasm3/execute/arith/incorrect_result_value ERROR OCCURRED: 'Incorrect result value, expected: 5, got: 4'
fizzy/parse/invalid ERROR OCCURRED: 'Parsing failed'
fizzyc/parse/invalid ERROR OCCURRED: 'Parsing failed'
wabt/parse/invalid ERROR OCCURRED: 'Parsing failed'
wasm3/parse/invalid 0.981 us 0.981 us 14528 rate=39.7592M/s size=39
fizzy/instantiate/invalid ERROR OCCURRED: 'Instantiation failed'
fizzyc/instantiate/invalid ERROR OCCURRED: 'Instantiation failed'
wabt/instantiate/invalid ERROR OCCURRED: 'Instantiation failed'
wasm3/instantiate/invalid 3.22 us 3.22 us 3205
fizzy/execute/invalid/add ERROR OCCURRED: 'Instantiation failed'
fizzyc/execute/invalid/add ERROR OCCURRED: 'Instantiation failed'
wabt/execute/invalid/add ERROR OCCURRED: 'Instantiation failed'
96% tests passed, 1 tests failed out of 23
Total Test time (real) = 0.37 sec
The following tests FAILED:
5 - fizzy/smoketests/bench/benchmarks (Subprocess aborted)
Errors while running CTest
We did find some reason, increased something/update compiler to work it around, but it is back again.
Apparently we run into a wasm3 bug: https://github.com/wasm3/wasm3/issues/425