Dan Gohman
66120cdede
Prune unnecessary dependencies.
2018-12-14 08:09:01 -08:00
Jef
1e04dc90b6
Make more tests quickcheck-compatible, remove unused code
2018-12-14 16:35:48 +01:00
Jef
b832832c76
Add const folding, fix returning values from blocks
2018-12-14 16:20:28 +01:00
Jef
17ecd049a1
Register allocation V2
...
This lays the groundwork for other on-the-fly optimisations,
like passing literals through in order to do const folding
in linear time, while compiling.
2018-12-14 14:16:43 +01: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
Jef
4994e3671c
Remove unused argument from fibonacci example
2018-12-13 12:26:49 +01:00
Jef
912fa83fff
Add benchmarks
2018-12-13 12:26:47 +01:00
Jef
5bb7430976
Add quickcheck, implement simple binary operations
2018-12-13 10:25:37 +01:00
Jef
5b448ce3c7
Stop leaking stack space on function call
2018-12-13 10:25:17 +01: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
Jef
189996accd
Fix receiving more than 6 arguments, allow calling functions with more than 6 arguments
2018-12-12 13:23:43 +01:00
Jef
86353cba5e
Allow calling functions with any signature
2018-12-12 11:52:48 +01: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
Sergey Pepyakin
b32f77ea02
Add the fib test.
2018-12-11 20:15:26 +01:00
Sergey Pepyakin
0cd70c649a
Implement returns.
2018-12-11 20:13:20 +01:00
Sergey Pepyakin
e02dbf1bc2
Add i32 literals support.
2018-12-11 20:12:55 +01:00
Sergey Pepyakin
0e9ba8332f
Pass arguments.
2018-12-11 19:46:41 +01: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
Sergey Pepyakin
078486e080
Basic form of a function call
2018-12-07 19:16:42 +01: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