Commit Graph

1441 Commits

Author SHA1 Message Date
Dan Gohman
63c9143e87 Update to bindgen 0.45. 2019-01-03 11:48:05 -08:00
Dan Gohman
7592c99f3b Refactor the compilation and instantiation pipeline.
wasmtime-execute is now wasmtime-jit. Move `JITCode` and the TargetIsa
into a new `Compiler` type. `InstancePlus` is no more, with trampoline
functionality now handled by `Compiler`.
2019-01-03 11:47:55 -08:00
Dan Gohman
450a279e18 Rename wasmtime's logfile names. 2019-01-03 11:47:40 -08:00
Dan Gohman
f997cde2db Don't create Static memories larger than the Tunables' static bound size. 2018-12-24 22:08:36 -08:00
Dan Gohman
57a1618742 Catch EXCEPTION_INT_OVERFLOW exceptions too. 2018-12-24 22:08:36 -08:00
Dan Gohman
a5a23d8c4a Factor WasmNamespace out of lib/wast and into lib/execute as Namespace.
This makes it usable for things other than just wast tests.
2018-12-24 22:08:36 -08:00
Dan Gohman
71c0142cd4 Rename the address field of Table/Memory/Global exports to definition.
For functions, `address` makes sense because it's the address of the
function. Bt for Table/Memory/Global, it points to a `VM*Definition` field.
2018-12-24 18:20:15 -08:00
Dan Gohman
8f74c7f3d5 Add derive(Debug) to Export. 2018-12-24 18:14:00 -08:00
Dan Gohman
c4e10227de Tidy up trap-handling code. 2018-12-19 15:14:30 -08:00
Dan Gohman
4d4ecfd812 Bump version to 0.1.0 2018-12-17 13:45:12 -08:00
Dan Gohman
48f86bde82 Make appveyor.yml more verbose, and other misc fixes. 2018-12-16 15:29:17 -08:00
Dan Gohman
81bbf8f057 Disable the x86-32 build in appveyor, as it isn't supported yet. 2018-12-16 14:28:40 -08:00
Dan Gohman
66120cdede Prune unnecessary dependencies. 2018-12-14 08:09:01 -08:00
Dan Gohman
0c0ccc5d09 Add unsigned access methods to VMGlobalDefinition. 2018-12-13 15:50:58 -08:00
Dan Gohman
717f60bda1 Misc cleanups in the trap handling code. 2018-12-13 13:14:08 -08:00
Dan Gohman
26eb8131da Avoid unnecessary clone() calls. 2018-12-13 09:13:04 -08:00
Dan Gohman
5c2395ee32 Elaborate on a TODO comment. 2018-12-12 14:16:46 -08:00
Dan Gohman
562a66cc27 Update status. 2018-12-12 13:05:32 -08:00
Dan Gohman
eba0f9925a no_std fixes. 2018-12-12 13:00:53 -08:00
Dan Gohman
bc4333d857 Implement assert_malformed and assert_invalid. 2018-12-12 12:28:51 -08:00
Dan Gohman
3f24098edc Implement the remaining valid spec tests.
And lots of other miscellaneous changes. Rename InstanceWorld to
InstancePlus and reorganize its contents. This still isn't a great name,
but at least now it has a clear purpose.
2018-12-12 11:49:02 -08:00
Dan Gohman
6dd39dee6a Update to Cranelift 0.26.0. 2018-12-11 13:21:03 -08:00
Dan Gohman
56850d481d Initial support for function, table, memory, and global imports. 2018-12-11 12:49:14 -08:00
Dan Gohman
93f33141e9 Introduce VMFunctionBody to add extra type safety. 2018-12-08 21:00:42 -05:00
Dan Gohman
10bb311aea Reorganize unsafe code. 2018-12-08 21:00:42 -05:00
Dan Gohman
7dcca6be5b Improve error handling, and start refactoring Instance.
Introduce proper error handling in several places, and perform a first
pass at refactoring Instance to make it easier to use.
2018-12-07 23:51:23 -05:00
Dan Gohman
fe562297a7 Rename wasmtime's --function to --invoke.
This highlights the similarity with the `invoke` command in `wast` files.
2018-12-07 06:25:23 -05:00
Dan Gohman
a635861425 Report traps in functions invoked from the command line. 2018-12-06 23:56:45 -05:00
Dan Gohman
3b280e8799 Update to Rust 1.31.0. 2018-12-06 23:20:16 -05:00
Dan Gohman
230079d460 Improved error handling. 2018-12-06 23:03:32 -05:00
Dan Gohman
1fda62ed33 Flesh out the README.md with more specific goals. 2018-12-06 23:03:23 -05:00
Dan Gohman
dca7729313 Improve error handling and misc cleanups. 2018-12-06 23:03:12 -05:00
Dan Gohman
6198b89110 Update to pretty_env_logger 0.3.0. 2018-12-06 23:02:57 -05:00
Dan Gohman
08488591a9 Fix clippy warning namespaces. 2018-12-06 23:02:42 -05:00
Dan Gohman
06de604729 Rename InvokeOutcome to ActionOutcome and move it to its own module. 2018-12-06 23:02:33 -05:00
Dan Gohman
d9b4bd1de8 Support imports. 2018-12-06 23:02:19 -05:00
Dan Gohman
8170a9db79 Update to the rustfmt in rust 1.31, which is now stable. 2018-12-06 22:59:46 -05:00
Dan Gohman
96941a59af Implement call_indirect signature checking.
The call_indirect.wast spec test now passes.
2018-12-05 11:32:35 -05:00
Dan Gohman
57635eb62b Implement minimal call_indirect signature checking. 2018-12-05 11:32:28 -05:00
Dan Gohman
27c2f82628 Add Emacs backup and autosave files to .gitignore. 2018-12-05 11:30:05 -05:00
Dan Gohman
0a2ecf5a1e On Darwin, guard page accesses are raised as SIGBUS. 2018-12-05 02:25:34 -05:00
Dan Gohman
cfd28a7bc5 Temporarily disable use of Mach ports for trap handling on Darwin. 2018-12-05 02:25:34 -05:00
Dan Gohman
4ae552c7bd Reword the lib/wast README.md and add a link to the spec testsuite. 2018-12-05 02:25:34 -05:00
Dan Gohman
4db11b610e Generalize to better support the spec proposals tests. 2018-12-05 02:25:34 -05:00
Dan Gohman
974355e20b Handle write errors in the build script. 2018-12-05 02:25:34 -05:00
Dan Gohman
c3dd82b0d5 Enable RUST_BACKTRACE=1 when running "cargo test". 2018-12-05 02:25:34 -05:00
Dan Gohman
e06b99b165 Add a spec testsuite submodule. 2018-12-05 02:25:34 -05:00
Dan Gohman
04b7f0c0df Fix the description of the wasmtime program. 2018-12-05 02:25:34 -05:00
Dan Gohman
7faa15d7ac More infrastructure.
Improve handling of memory.grow/size, add a standalone wast runner,
test harness improvements.
2018-12-05 02:25:34 -05:00
Dan Gohman
83f8a31010 Convert the wast test harness into a crate.
This uses a build.rs file to collect all the wast tests and create
individual `#[test]` lines for them, so that `cargo test` can run them
in parallel.
2018-12-05 02:25:34 -05:00