| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Several updates for s2wasm and its tests:
Add explicit drops where they are emitted by LLVM already
Convert loops (which are still modeled in the old way by LLVM) to wrap them in an explicit block (for the exit label). This also allows simplifying the loop creation (no need to post-process the implicit block which is the loop's body). After the engines update to 0xc we should update LLVM to model loops in the 0xc way, but for now it remains compatible with 0xb and 0xc.
Fix the order of the calls to setTee() when creating tee_locals
Add an explicit drop when creating the _start entry function wrapper if needed
Update dot_s and llvm_autogenerated tests to remove store-results optimization (and few other minor updates)
Fix the test auto-updater to fail if subprocesses fail
There still seems to be a validation failure when building libc (I think it's from the stricter drop rules, but it may be in the source rather than the compiler), but this at least makes Binaryen's tests pa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a flag to s2wasm to export grow_memory
Binaryen's wasm.js-post.js calls back in to wasm in order to grow the
linear memory, via a function that asm2wasm exports called
__growWasmMemory.
This changes exposes that method through s2wasm when invoked with a
flag.
* Move AsmConstWalker from wasm-linker to wasm-emscripten
* Add test for memory growth in s2wasm
* Move makeDynCallThunks into wasm-emscripten module
* Move mutation in getTableSegment into a separate method
* Move emscripten metadata generation into wasm-emscripten
Also make AsmConstWalker internal to the wasm-emscripten module, as it's only used for the metadata pass.
|
| |
|
|
|
|
|
|
|
|
| |
apply memory segments only if there isn't a memory initializer (which we need for asmjs and asm2wasm modes)
use wasm-opt to check recreated wasts for validity, as wasm-shell would try to execute them
add testing for combined modes like asmjs,interpret-binary
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
testing
|
| |
|
|
|
|
| |
tests
|
| |
|
| |
|
|
|
|
| |
api calls
|
| |
|
| |
|
|
|
|
| |
our own codebase
|
| |
|
| |
|
|
|
|
|
|
|
| |
In the web embedding, modules are not allowed to import or export
functions which have i64 params or return values. Add a mode to the
validator to check for this, and add flags to s2wasm and wasm-as to
enable or disable this check. Also add tests.
|
|
|
| |
This avoids relying on clang from llvm, which sometimes is down (see #553)
|
|
|
| |
Without this, the script won't work on distros that use python3 by default.
|
| |
|
| |
|
| |
|
|
|
| |
Also tries to cleanup example.dSYM files and hide libbinaryen.dylib.
|
| |
|
|
|
|
| |
Verbose exctraction makes the Travis build much less readable. Also print the
URL before downloading it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Factor passes and emscripten-optimizer into static libs
This removes the redundancies from the source sets in the main
CMakeLists.txt.
* Make passes an object lib
* Use static libs with --whole-archive because Travis has old cmake
|
|
|
|
|
|
|
|
| |
Use the -rpath linker flag to locate libbinaryen-c.so instead of
injecting paths into the user's LD_LIBRARY_PATH
Also Link libsupport and libasmjs into libbinaryen-c
Fixes #444
|
| |
|
|
|
| |
It needs to be concatenated, not overwritten.
|
|
|
|
|
|
|
|
|
| |
An archive member can depend on any other archive member, so adding a
member to the link can introduce new undefined references that must be
satisfied. The linker must continue to iterate over the members until
nothing new is added to the link.
|
|
|
|
| |
library, make it dynamic
|
|
|
|
|
|
|
|
| |
Add a class to parse archive files.
Support linking archive files, with archive semantics (i.e. an archive
member is linked in if it satisfies an undefined reference).
Archive files must be gnu-format archives containing .s files.
Add tests for linking semantics.
|
| |
|
| |
|
|
|
|
| |
type checking everywhere
|
| |
|
| |
|
|
|
|
|
|
|
| |
Still making things nicer for #370
Pulling wasm-linker into its own file also necessitated pulling asm_v_wasm.h into a cpp file. It goes into a new lib directory, src/asmjs.
No actual code changes in this PR.
|
| |
|
|
|
|
| |
* allow traversals to mark themselves as function-parallel, in which case we run them using a thread pool. also mark some thread-safety risks (interned strings, arena allocators) with assertions they modify only on the main thread
|