Commit Graph

1441 Commits

Author SHA1 Message Date
Dan Gohman
b5e794a584 Update to Cretonne 0.8.0. 2018-05-14 12:58:28 -10:00
Dan Gohman
ed734f8ecb Update to Cretonne 0.4.0. 2018-03-16 16:34:20 -07:00
Dan Gohman
5a5f4e4a2f Switch to published packages rather than straight git paths.
We can do this now that all our dependencies are available in published
form, and this should reduce accidental breakage which APIs change.
2018-02-28 12:33:37 -08:00
Dan Gohman
933d8487c1 Minor code simplification. NFC. 2018-02-28 12:26:49 -08: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
ebf2c3a17e Add a note to the README about present usability. 2017-12-05 09:10:07 -08:00
Dan Gohman
29db33e7f8 Replace reserve with reserve_exact when applicable. 2017-11-17 11:14:45 -08:00
Dan Gohman
46ac24d172 Add a comment about call_indirect bounds/signature checking. 2017-11-17 11:14:45 -08:00
Dan Gohman
9ee6e740b0 Merge pull request #3 from m4b/patch-1
obj: minor fix to emit_module compile
2017-11-05 14:03:58 -08:00
m4b
89d3038c1c obj: minor fix to emit_module compile 2017-11-05 00:03:56 -07:00
Dan Gohman
114da83ad6 Avoid using to_string() on ExternalName to create strings for symbol names.
ExternalName's `to_string()` prepends a '%' for Cretonne's text syntax,
but for creating symbol names we just want the raw bytes.
2017-11-04 15:29:16 -07: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
04660ae8cc Rename "wast" to "wat" in filetests too. 2017-11-02 07:46:18 -07:00
Dan Gohman
c30116d948 Fix copypasta in a FIXME message. 2017-11-02 07:42:03 -07:00
Dan Gohman
2b40f72f00 Update for more Cretonne API changes.
This updates to ExternalName and reloc_external.
2017-10-31 12:36:53 -07:00
Dan Gohman
226fbce0b3 Update for Cretonne API changes. 2017-10-28 06:11:56 -07:00
Dan Gohman
469b7bb5e9 Add a FIXME comment for grow/current_memory. 2017-10-27 16:46:04 -07:00
Dan Gohman
233d2cd773 Initialize function names and signatures before calling translate_from_reader. 2017-10-13 16:42:40 -07:00
Dan Gohman
b87178647b Change get_func_type's return type to SignatureType.
It's the same thing, but provides more readability.
2017-10-13 16:42:01 -07:00
Dan Gohman
2c53dc69ff Use from_str_radix to parse hex digits. 2017-10-13 16:41:45 -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
3d6f0f7045 Update for Cretonne API changes. 2017-10-10 10:24:15 -07:00
Dan Gohman
142b17a3f0 Delete an unused settings builder. 2017-10-10 09:47:04 -07:00
Dan Gohman
6dea25ee9f Store relocs in a Vec rather than in a HashMap. 2017-10-10 09:45:32 -07:00
Dan Gohman
f90e7ade86 Enable the cretonne verifier by default in debug builds. 2017-10-05 18:01:27 -07:00
Dan Gohman
c39cba4ae0 Start experimenting with cargo fuzz. This isn't very usable yet. 2017-10-05 18:00:54 -07:00
Dan Gohman
9f7d0a659c Use VmCtx arg for globals, and a global for the heap.
This replaces the ReservedReg strategy, and is more flexible.
2017-10-05 09:01:38 -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
6ded83332f Change the reloc sink to use vectors instead of hash maps. 2017-10-03 14:02:41 -07:00
Dan Gohman
412fedcc6d Fix reseting of the heap when compiling a module containing multiple functions. 2017-10-03 13:30:12 -07:00
Dan Gohman
31a962fa1b Support multiple globals. 2017-10-03 13:25:37 -07:00
Dan Gohman
865a3d9f31 Rename wasmstandalone::StandaloneRuntime to wasmstandalone::Runtime. 2017-10-03 13:01:31 -07:00
Dan Gohman
db88701eaa Use Self. 2017-10-03 12:54:35 -07:00
Dan Gohman
97b877bb9c Use Option::unwrap_or_else. 2017-10-03 12:53:28 -07:00
Dan Gohman
d4438f4006 Drop an unneeded dependency. 2017-10-03 12:48:33 -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
cad7e50106 Update to wasmparser 0.11.2. 2017-10-03 12:18:18 -07:00
Dan Gohman
5b0a083124 Avoid unnecessary BufReaders. 2017-10-03 06:56:23 -07:00
Dan Gohman
e64eb79aaf Fix dependency paths. wasmstandalone no longer depends on out-of-tree patches. 2017-09-23 15:38:38 -07:00
Dan Gohman
666d565fd4 Clean up unused imports. 2017-09-23 15:38:38 -07:00
Dan Gohman
0c78a2f298 Import the wasm2obj experiment and minimally update it. 2017-09-23 15:38:38 -07:00
Dan Gohman
06f0b00c2d Add an assert on an implemented feature rather than letting it silently fail. 2017-09-22 16:26:43 -07:00
Dan Gohman
64d596005c Reduce the extent of unsafe code. 2017-09-22 16:21:25 -07:00