| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Begin to implement wasm threading proposal in https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md
This PR just has shared memory attribute with wast and binary support.
|
|
|
|
|
|
|
|
| |
(#1017)
* Extends wasm-as, wasm-dis and s2wasm to consume debug locations.
* Exports source map from asm2wasm
|
|
|
|
|
|
|
|
|
|
| |
* properly catch a bunch of possible parse errors, found by afl-fuzz
* clean up wasm-interpreter, use WASM_UNREACHABLE instead of abort
* detect duplicate names in function names section
* detect duplicate export names
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See https://github.com/WebAssembly/binaryen/issues/914.
* extensible name section support: read function names, too
* c-api-unused-mem.txt: change expected size to match new name section
* * check subsection size matches
* print warning for unknown name subsections (including the local
section)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move WasmType function implementations to wasm.cpp
* Move Literal methods to wasm.cpp
* Reorder wasm.cpp shared constants back to top
* Move expression functions to wasm.cpp
* Finish moving things to wasm.cpp
* Split out Literal into its own .h/.cpp. Also factor out common wasm-type module
* Remove unneeded/transitive includes from wasm.h
* Add comment to try/check methods
* Rename tryX/checkX methods to getXOrNull
* Add missing include that should fix appveyor build breakage
* More appveyor
|
| |
|
|
|
|
|
|
| |
* update wasm version to 0x01, in prep for release, and since browsers are ready to accept it
* update wasm.js
|
|\
| |
| | |
Fix AngryBots parsing
|
| | |
|
|\ \
| |/
|/| |
Mark memory as existing when it is created in the C API
|
| | |
|
|/
|
|
| |
* handle stacky code in binaries, using a block+local
|
| |
|
|
|
|
| |
mapping (similar to Names section, but external)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Renumber opcodes for 0xd
* Unified type encoding
* Add reserved flags fields to host instructions and call_indirect
* Rename flags->reserved
* Fix line numbers in wast parser
Also don't throw if the memory is defined in the same Element as the
export of memory (the validity is checked later anyway).
* Skip spec binary.wast
The spec testsuite is still on 0xc, so 0xd doesn't match. In order to
update to 0xd we need to implement some additional functionality for the
import test, namely (register)
|
|
|
|
| |
we must handle float literals carefully to not change their sign bit on some platforms/compilers, and that commit made relevant functions non-inline which hit a bug (#801)
|
| |
|
| |
|
| |
|
|
|
| |
Previously the Print pass searched the imports for a table import and skipped printing a local table declaration if found. Instead this refactors to make importation explicit, and also create importation records (previously we were inconsistent about whether such records were created in the IR depending on the wast syntax).
|
|
|
|
| |
Also skip binary roundtrip on stacky spec tests
|
|
|
|
|
| |
For compatibility with 0xc
Also update opcode for get_global
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refine tables to explicitly exist or not. Previously they were printed
or encoded if it had any segments, or an initial or max size. However
tables can be defined but empty, so we had a special hack that defined
an empty segment when we really just wanted an empty table. Now, just
make the existence explicit.
Update Function table encoding for 0xc (Table and Element sections)
Add end opcodes after function bodies (these are consumed by
getMaybeBlock with the same behavior that it had before when it reached
the function end, so no explicit decode)
Update call_indirect encoding for 0xc (no arity, call target is last)
|
| |
|
| |
|
|
|
|
|
|
| |
* type check using block/loop/if types provided in text and binary formats.
* print if and loop sigs which were missing.
* remove dsl from OptimizeInstructions as after those changes it needs rethinking.
|
|
|
|
|
|
| |
Also updates the tests and has a few other changes for binary 0xc:
Update nop/unrechable opcodes
Fix for "name" section
|
| |
|
|
|
|
|
| |
* Call instructions no longer encode the arity
* Segments encode the linear memory index (0 for MVP)
|
|
|
|
|
|
| |
Updates section headers and formats for type, import, function, table,
memory, and export sections, as well as "names" section, which is now a
user section.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
in binary format reading
|
| |
|
|
|
|
| |
consistent with refering to other global objects; e.g. this avoids ordering issues with imported vs non-imported globals
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
presence, and eliminate explicit index counter (#633)
|