soundandform / m3

A high performance WebAssembly interpreter in C. Moved here:
https://github.com/wasm3/wasm3
MIT License
17 stars 1 forks source link

webassembly.studio #3

Open joostmarkerink opened 5 years ago

joostmarkerink commented 5 years ago

I tried running compiled wasm files from https://webassembly.studio/ empty c project, helloworld in c and empty rust project

they all end with "Aborted" (on debian arm64)

the following result is from the empty c project:

-- m3 configuration -------------------------------------------- sizeof M3MemPage : 65536 bytes
sizeof M3Compilation : 8592 bytes

parse  |  load module: 526 bytes
parse  |  found magic + version
parse  |  ** Type [2]
parse  |  () -> nil
parse  |  () -> i32
parse  |  ** Function [2]
parse  |  <skipped (id: 4)>
parse  |  <skipped (id: 5)>
parse  |  ** Global [3]
parse  |    - add global: [0] i32

compile | 0 | 0x01 .. nop compile | 1 | 0x41 .. i32.const compile | | .......... (const i32 = 66560) compile | 2 | 0x0b end parse | - add global: [1] i32 compile | 0 | 0x00 .. unreachable compile | 1 | 0x41 .. i32.const compile | | .......... (const i32 = 66560) compile | 2 | 0x0b end parse | - add global: [2] i32 compile | 0 | 0x00 .. unreachable compile | 1 | 0x41 .. i32.const compile | | .......... (const i32 = 1024) compile | 2 | 0x0b end parse | Export [4] parse | - index: 0; kind: 2; export: 'memory'; parse | - index: 1; kind: 3; export: '__heap_base'; parse | - index: 2; kind: 3; export: '__data_end'; parse | - index: 1; kind: 0; export: 'main'; parse | Code [2] parse | - func size: 2; locals: 0 parse | - func size: 4; locals: 0 parse | Custom: '.debug_info' parse | Custom: '.debug_macinfo' parse | Custom: '.debug_abbrev' parse | Custom: '.debug_line' parse | Custom: '.debug_str' parse | Custom: 'name' parse | naming function [0]: __wasm_call_ctors

-- m3 configuration -------------------------------------------- sizeof M3MemPage : 65536 bytes
sizeof M3Compilation : 8592 bytes

runtime | initializing global: 0 compile | 0 | 0x01 .. nop compile | 1 | 0x41 .. i32.const compile | | .......... (const i32 = 66560) compile | 2 | 0x0b end runtime | initializing global: 1 compile | 0 | 0x00 .. unreachable compile | 1 | 0x41 .. i32.const compile | | .......... (const i32 = 66560) compile | 2 | 0x0b end exec | trapping runtime | initializing global: 2 compile | 0 | 0x00 .. unreachable compile | 1 | 0x41 .. i32.const compile | | .......... (const i32 = 1024) compile | 2 | 0x0b end exec | trapping

-- m3 runtime ------------------------------------------------- stack-size: 32768

module [0] name: '.unnamed'; funcs: 2

Aborted

vshymanskyy commented 5 years ago

Could you please try with my fork of the engine: https://github.com/vshymanskyy/wasm3 ? There's a high chance it was fixed.

joostmarkerink commented 5 years ago

Could you please try with my fork of the engine: https://github.com/vshymanskyy/wasm3 ? There's a high chance it was fixed.

Hello, I compiled "wasm3" and ran "webassembly.studio" empty c example like this "./wasm3 main.wasm main" and the result was: "Fatal: m3_Call: runtime ran out of memory"

vshymanskyy commented 5 years ago

@joostmarkerink I think i didn't commit some of my changes to the master branch ;) Basically, it looks like duplicate of #1. Let me re-check.

vshymanskyy commented 5 years ago

Yeagh thanks for pointing this out. It's working now: image Try the latest master branch of my fork.

joostmarkerink commented 5 years ago

Yeagh thanks for pointing this out. It's working now: image Try the latest master branch of my fork.

yes it runs. awesome!