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
dca7729313
Improve error handling and misc cleanups.
2018-12-06 23:03:12 -05:00
Dan Gohman
08488591a9
Fix clippy warning namespaces.
2018-12-06 23:02:42 -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
57635eb62b
Implement minimal call_indirect signature checking.
2018-12-05 11:32:28 -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
bd69768e0d
Improve infrastructure.
...
Do more encapsulation of raw pointers, use more PrimaryMaps instead of
Vecs, add a table.rs for managing table storage.
2018-12-05 02:25:34 -05:00
Dan Gohman
099f85f821
Rename main.rs to wasmtime.rs.
2018-12-05 02:25:34 -05:00
Dan Gohman
8dbd4b8d7c
Start a wast testing harness and add some tests.
...
This implements a minimal wast testing harness in tests/wast.rs, which
runs the wast tests under tests/wast.
It also adds tests for trapping in a variety of ways, and fixes several
bugs exposed by those tests.
2018-12-05 02:25:34 -05:00
Dan Gohman
f44fe25f9c
Rewrite linear memory handling in terms of simple mmap/VirtualAlloc.
...
The memmap crate doesn't make it straightforward to have part of the
region be writeable and part readonly. Since this is a fairly boutique
use case, and we don't need all that much code, just use the low-level
APIs directly.
Also, introduce a concept of "tunables" for adjusting the parameters of
the runtime.
2018-12-05 02:25:34 -05:00
Frank Rehberger
ec940ee8af
Migrating to wabt::wat2wasm ( #29 )
...
* Add test_environ_translate
* Migrating to wabt::wat2wasm
2018-11-30 10:44:44 -06:00
Dan Gohman
b3d831015c
Add basic logging support to the wasmtime binary.
2018-11-29 15:38:12 -08:00
Frank Rehberger
4ac41213ad
Add test_environ_translate
2018-11-28 04:33:14 -08:00
Geoffroy Couprie
bf5a06bc95
separate the context intialization from the function execution ( #21 )
...
the start function is called from the initialization phase
2018-11-27 05:33:56 -08:00
Dan Gohman
74ccddcd64
Update to Cranelift 0.24.
2018-11-25 05:08:29 -08:00
Geoffroy Couprie
7fca0792dd
add a way to provide imported functions during relocation
...
They are provided as a closure taking the module (&str) and function name (&str) as arguments,
returning an address (Option<isize>)
2018-11-16 09:56:36 -08:00
Nathan Froyd
5f11f44482
add a --target option to wasm2obj
2018-10-10 08:10:09 -07:00
Dan Gohman
5a96e022db
Update to the rustfmt in rust 1.29, which is now stable.
2018-10-09 14:36:48 -07:00
Sergey Pepyakin
7b222190f5
Implement tables and call_indirect ( #12 )
...
* Implement tables and call_indirect
* Restore comment about sig checking.
* Widen callee index on 64bit platforms.
2018-08-15 16:25:49 -07:00
Dan Gohman
4992162fab
Format with rustfmt.
2018-08-03 15:37:57 -07:00
Dan Gohman
548c45c604
Rename wasmtime-runtime to wasmtime-environ.
...
This mirrors changes in cranelift.
2018-08-03 15:20:19 -07:00
Dan Gohman
ef5254c0da
More code reorganization and cleanups.
2018-08-03 15:06:59 -07:00
Dan Gohman
831b481f13
More code reorganization.
2018-08-03 14:18:23 -07:00
Dan Gohman
6659ef7018
More code reorganization.
2018-08-03 13:35:25 -07:00
Dan Gohman
2608dd0c47
Update to cranelift 0.16.1, target-lexicon 0.0.3, faerie 0.4.4.
2018-07-21 06:46:19 -07:00
Dan Gohman
c612d48b33
Rename to wasmtime. It's wasmtime!
...
Also, update to Cretonne 0.13.0.
2018-07-02 16:20:22 -07:00
Dan Gohman
73639e4557
Update to cretonne 0.9.0 and faerie 0.4.1.
2018-06-07 14:37:36 -07:00
Dan Gohman
99ee96ca16
Update to latest stable rustfmt-preview.
2018-06-07 14:17:56 -07:00
Dan Gohman
b5e794a584
Update to Cretonne 0.8.0.
2018-05-14 12:58:28 -10:00
Dan Gohman
f276a021cb
Update wasmstandalone for API changes.
...
This updates to the latest faerie and cretonne API changes.
2018-02-22 09:44:02 -08:00
Dan Gohman
be9e3e88e4
Emit wasm data initializers as faerie data segments.
...
This is a temporary measure while other parts of the system are being
developed, and will need to be replaced by a proper solution.
2017-11-04 15:28:19 -07:00
Dan Gohman
c30116d948
Fix copypasta in a FIXME message.
2017-11-02 07:42:03 -07:00
Dan Gohman
ca1b461375
Begin internal reorganization.
...
This begins reorganizing how translation and compilation occur, and
setting up infrastructure for imports/exports and relocations. It
splits parts out of StandaloneRuntime, forming Module, Compilation,
and Instance structs, which can be used more independently.
It also simplifies the command-line interface, in a step towards
making simple tools that just expose the functionality of the
libraries.
2017-10-13 14:47:01 -07:00
Dan Gohman
142b17a3f0
Delete an unused settings builder.
2017-10-10 09:47:04 -07:00
Dan Gohman
f90e7ade86
Enable the cretonne verifier by default in debug builds.
2017-10-05 18:01:27 -07:00
Dan Gohman
b5732bc200
On error, always print the error message and exit with non-zero status.
2017-10-05 08:49:32 -07:00
Dan Gohman
c8e015f31a
Remove an unused argument.
2017-10-04 12:32:45 -07:00
Dan Gohman
fc857a758e
Remove an unneeded block.
2017-10-04 12:22:32 -07:00
Dan Gohman
b4e7e918cc
Use the correct index for printing function definitions when imports are present.
2017-10-04 12:22:07 -07:00
Dan Gohman
23bafd1218
Split the runtime and execution code into separate crates.
2017-10-03 14:57:52 -07:00
Dan Gohman
865a3d9f31
Rename wasmstandalone::StandaloneRuntime to wasmstandalone::Runtime.
2017-10-03 13:01:31 -07:00
Dan Gohman
6c4bbc643c
Set the faerie target based on the cretonne target.
2017-10-03 12:39:52 -07:00
Dan Gohman
a68b2619bd
Sniff the wasm magic bytes, rather than relying on the filename extension.
2017-10-03 12:23:59 -07:00
Dan Gohman
e5ed1517ce
Fix the command name in the usage message.
2017-10-03 12:21:09 -07:00
Dan Gohman
324a395a95
Make the "wat2wasm" error message not panic.
2017-10-03 12:20:37 -07:00
Dan Gohman
5b0a083124
Avoid unnecessary BufReaders.
2017-10-03 06:56:23 -07:00