Yury Delendik
ddbc00752e
Generate debug info for LLDB/GDB ( #50 )
...
* Transform DWARF sections into native format for wasm2obj and wasmtime.
Generate DWARF sections based on WASM DWARF.
Ignore some of debug_info/debug_line for dead code.
* Fix test
2019-03-06 16:03:32 -08:00
Dan Gohman
04d4b20df4
Fix clippy.toml paths and a few clippy lints.
2019-03-01 15:49:29 -08:00
Dan Gohman
5f201f6d73
Rename Instance to InstanceHandle.
2019-02-26 08:54:36 -08:00
Dan Gohman
077ee717a8
Make Instance a refcounting handle around InstanceContents.
2019-02-26 08:54:36 -08:00
Dan Gohman
602e81a895
Minor code reorganization.
2019-02-01 18:20:59 -08:00
Dan Gohman
ddb8453b0d
Move wasmtime's instantiation test into a separate file.
2019-02-01 18:20:59 -08:00
Dan Gohman
72ee874986
Factor out a function for reading a wasm file.
2019-02-01 18:20:59 -08:00
Dan Gohman
8b140cc748
Create a Context class to group together various state objects.
2019-02-01 18:20:59 -08:00
Dan Gohman
00a4e93bcd
Add a concept of "global exports".
...
This adds a feature which allows one to look up an export by name
without knowing what module it's in -- `lookup_global_export` on an
`InstanceContents`.
The main expected use for this is to support APIs where module A
imports a function from module B, and module B needs to access module
A's memory. B can't import it from A in the normal way, because that
would create a dependency cycle. So for now, allow B to look up A's
exported memory dynamically with `lookup_global_export`.
In the future, with reference types and possibly host bindings, we'll be
able to pass references to memory as arguments, which will obviate the
need for this mechanism.
2019-01-22 16:32:07 -08:00
Dan Gohman
35d7f78a11
Handle errors cleanly in the wast runner.
2019-01-03 14:16:48 -08:00
Dan Gohman
f6c2fe7d2d
Update to Rust 2018 Edition.
2019-01-03 12:58:11 -08:00
Dan Gohman
529de7ca60
Tidy up unneeded '&'s.
2019-01-03 12:03:52 -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
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
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
56850d481d
Initial support for function, table, memory, and global imports.
2018-12-11 12:49:14 -08: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
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