| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This finishes #985. This
- replaces the old names in the tests with the new names
- drops support for the deprecated names
- renames test files to match new instruction names
I don't think dropping support for the old names will be a problem at
this point. #985 says the old names are supported for convenience but we
should remove those too at some point; that "some point" may have well
arrived given that three years have passed.
The lists of names updated are in #933, #1564, WebAssembly/spec#720.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows wasm .o files to have more readable names, or even final
linked modules if the linking information is preserved (with e.g.
--emit-relocs in LLD).
This is implemented as part of the WABT IR representation, so
benefits wasm2wat as well.
Named obtained this way are only set for functions if the function
doesn't also have a name in the name section, but is preferred over
the export name if there is one.
|
|
|
|
|
|
|
|
| |
This allows tools that read input files to use the special `-` filename
to read from stdin.
Also, improve the error reported in general in ReadFile.
See: #386
|
|
|
|
|
| |
On windows debug builds these seems to be taking a long time. Seems
to have gotten worse since #1236 landed. I will continue to investigate the
cause of the slowdown and possibly revert this.
|
|
|
| |
Resolves #872
|
|
|
|
|
|
| |
This is been superseded by lld and we no longer have the
bandwidth to maintain a separate linker.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove `run-objdump.py`; replace with `RUN` cmds
This CL introduces two new TOOLs for tests:
* `run-objdump-gen-wasm`: Run objdump on wasm files generated by
`gen-wasm.py`.
* `run-objdump-spec`: Run objdump on wasm files generated by
`wast2json`. For now, this requires each test to specify the files
manually: `%(temp_file)s.0.wasm %(temp_file)s.1.wasm` etc.
`gen_wasm_py` has been added as a new RUN variable as well.
* Call FixPythonExecutable after expanding variables
|
|
|
|
|
|
| |
Many of the `test/run-*` Python scripts are essentially the python
equivalent of shell scripts. They require tedious maintenance whenever
the tools change, and have a significant amount of copied code. This CL
removes `run-interp.py` as a relatively simple initial example.
|
|
|
|
| |
As suggested in https://github.com/WebAssembly/wabt/pull/725#discussion_r162516714.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add `wasm2c`, a new tool that reads a `.wasm` file and generates a C
source file and its accompanying header file. The C output currently
only supports gcc/clang compilers, since it uses builtins for some
functionality.
The resulting C code is not standalone; there are runtime functions that
must be provided, as well as pointers to all imports.
The C runtime symbols that must be provided are as follows:
* `void wasm_rt_trap(wasm_rt_trap_t code)`:
Called when the WebAssembly code traps. This function must not return.
* `u32 wasm_rt_register_func_type(u32 param_count, u32 result_count, ...)`:
Register a function type with the given signature. This function must
check whether this signature has already been registered and return
the original index.
* `void wasm_rt_allocate_memory(wasm_rt_memory_t*, u32 initial, u32 max)`:
Allocate the memory buffer for the given memory object, given the
number of pages. The memory must be zeroed before returning.
* `u32 wasm_rt_grow_memory(wasm_rt_memory_t*, u32 delta)`:
Grow memory by the given number of pages. If allocation fails, or the
new pages size is larger than the maximum, return -1. Otherwise return
the previous number of pages. The newly allocated memory must be
zeroed.
* `void wasm_rt_allocate_table(wasm_rt_table_t*, u32 initial, u32 max)`:
Allocate the buffer for the given table object. The buffer must be
zeroed before returning.
* `u32 wasm_rt_call_stack_depth`:
A symbol that tracks the current call stack depth. If this value
exceeds `WASM_RT_MAX_CALL_STACK_DEPTH` then a trap occurs. This value
defaults to 500, but can redefined.
An example implementation can be found in `spec-wasm2c-prefix.c`.
All functionality from the WebAssembly MVP is supported, and the
generated code passes all of the core spec tests. There is a new test
tool called `run-spec-wasm2c.py` which runs the following:
* `wast2json` to convert the spec test to json and wasm files
* `wasm2c` to convert the wasm to C source and headers
* a C compiler (default `cc`) to compile and link all C source files,
including a C test runner (`spec-wasm2c-prefix.c`)
* Finally, the resulting executable to produce output
|
| |
|
|
|
|
| |
* wat2wasm only parses wat files (individual modules)
* wast2json parses spec test files and generates json + wasm
|
|
|
| |
See issue #543.
|
|
|
|
|
|
|
|
| |
This is currently only supported where VT100 escape sequences work. We
assume that if `isatty` is true then color will be supported. This logic will
likely need to be improved, but this is a good start.
This PR also adds support for passing an environment variable to a test
via `ENV`. This is used to test the `FORCE_COLOR` environment variable.
|
|
Also update some of the information there.
|