Dan Gohman
5e05e9628d
Enable OSX builds on Travis.
2018-11-29 05:59:17 -08:00
Dan Gohman
216c0ce14e
Fix the scope of the ScopeGuard in call_wasm.
2018-11-29 05:59:17 -08:00
Dan Gohman
869ed1b5c5
Add badges for Appveyor CI and Gitter chat.
2018-11-29 05:58:19 -08:00
Dan Gohman
4ef1bac12b
Add a basic appveyor config file.
2018-11-29 05:57:53 -08:00
Dan Gohman
862d859587
Add a LICENSE file to each crate.
2018-11-29 05:57:32 -08:00
Dan Gohman
ba48fd2223
Add TODO comments noting temporary bug workarounds.
2018-11-28 17:18:12 -08:00
Dan Gohman
324c821adf
Replace 'mypy --version' with adding '--verbose' to the pip3 install command-line.
2018-11-28 16:46:42 -08:00
Dan Gohman
06d269be63
Disable mypy on OSX on Travis.
2018-11-28 16:36:59 -08:00
Dan Gohman
f8754c2cf8
Fix warnings when the "wasm" feature is disabled.
2018-11-28 16:36:59 -08:00
Dan Gohman
9f7a7fa389
Disable wabt and disassembler features on appveyor for now.
2018-11-28 15:47:54 -08:00
Dan Gohman
eaca8d3f2e
Enable OSX in Travis CI.
2018-11-28 15:47:03 -08:00
Dan Gohman
0e601ac4a5
Add an appveyor build badge.
2018-11-28 15:46:31 -08:00
Dan Gohman
d8b2def52e
Add preliminary appveyor support.
2018-11-28 14:31:53 -08:00
Dan Gohman
ef21fffa1c
Clarify Cranelift's design with respect to mid-level optimization. ( #619 )
...
* Clarify Cranelift's design with respect to mid-level optimization.
Cranelift doesn't currently do much mid-level optimization, however it
is something we're thinking about, so remove text describing it as out of
scope, and add more text explaining the vision for how it would fit into
the overall system.
2018-11-28 08:54:40 -08:00
Dan Gohman
7c03ba43be
Document which instructions are meant for producers to use.
...
This reorganizes some things in ir.rst to put all instructions not meant
for frontends to worry about in a dedicated section.
Fixes #282 .
2018-11-28 06:53:04 -08:00
Sergey Pepyakin
13c36612b5
increment → reserve.
2018-11-28 05:45:25 -08:00
Sergey Pepyakin
aa5643b9b5
Implement if then else
2018-11-28 05:45:25 -08:00
Sergey Pepyakin
ba216b2e8a
Add a simple i32.eq operator.
2018-11-28 05:45:25 -08:00
Sergey Pepyakin
b42696f207
Add a simple boilerplate.
2018-11-28 05:45:25 -08:00
Frank Rehberger
4ac41213ad
Add test_environ_translate
2018-11-28 04:33:14 -08:00
Dan Gohman
2a760ae5e8
Add tests that trap, and fix handling of SIGFPE on x86.
2018-11-27 06:38:28 -08:00
Dan Gohman
35627cf37f
Implement wasm trap handlers. ( #27 )
...
* Implement wasm trap handlers.
This adds signal handlers based on SpiderMonkey's signal-handler code.
The functionality for looking up the trap code and wasm bytecode offset
isn't yet implemented, but this is a start.
I considered rewriting this code in Rust, but decided against it for now
as C++ allows us to talk to the relevant OS APIs more directly.
Fixes #15 .
* Compile with -std=c++11.
* Refactor InstallState initialization.
* Compile with -fPIC.
* Factor out the code for calling a wasm function with a given index.
* Fix unclear wording in a comment.
2018-11-27 06:05:58 -08:00
Dan Gohman
8e1e75f1f4
Fix rustfmt diffs.
2018-11-27 05:41:19 -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
Zach Reizner
f028c53479
Fix incorrect wasm subcommand 'about' text.
2018-11-27 12:05:46 +01:00
Dan Gohman
95fba6a9de
Update to Cranelift 0.25.
2018-11-26 22:50:07 -08:00
Dan Gohman
30654a6a7d
Bump version to 0.25.0
2018-11-26 22:31:07 -08:00
Dan Gohman
09e5b33916
Update to wasmparser 0.22.
2018-11-26 22:18:36 -08:00
Dan Gohman
f0695a79d1
Add an autoinst line for fallthrough_return so that it's included in the docs.
2018-11-26 22:18:36 -08:00
Dan Gohman
f6a6ce3199
Make ModuleEnvironment's target_config() return by value.
...
This makes it more consistent with the other target_config() functions
which were all changed to return by value.
2018-11-26 22:18:36 -08:00
Dan Gohman
367f3cd5d3
Implement reserve and reserve_exact for PrimaryMap.
2018-11-26 22:18:36 -08:00
Dan Gohman
c17579e7ec
Bump version to 0.24.0
2018-11-26 22:18:36 -08:00
Dan Gohman
54c388d870
Make the verifier output even prettier ( #599 )
...
* Fix verifier printing to print instruction encodings consistently.
Use `FuncWriter::write_instruction` for all instructions so that
encodings are printed consistently.
* Make use-before-def errors mention the relevant value.
* When there are verifier errors, print a message at the end.
* Make verifier errors prettier.
Fix the length of the "^~~~~" to match the printed entity, and print the
error messsage on its own line.
* Clean up "test verifier" failure messages.
* Tidy the uses-value-from-itself error.
The use instruction is the same as the def instruction, so don't print
both. Also, the use instruction is already being printed at the
beginning, so don't print it again at the end.
2018-11-26 22:18:18 -08:00
Dan Gohman
0e19f39831
Temporarily disable the fuzz check in test-all.sh
...
We can re-enable it once https://github.com/Amanieu/hashmap_core/pull/8
is merged.
2018-11-26 05:04:05 -08:00
Dan Gohman
e8201d0f93
Begin work on no_std support.
...
This adds no_std support to a bunch of things, but more work is needed.
2018-11-26 04:52:39 -08:00
Dan Gohman
82c8ef95c4
Update for Cranelift API changes.
2018-11-26 04:11:09 -08:00
Dan Gohman
f823526a42
Update to wasmparser 0.22.
2018-11-26 04:10:50 -08:00
Dan Gohman
df2b610304
Add a Rust version badge.
2018-11-25 07:09:46 -08:00
Syrus Akbary
737fde04a8
Improved imports ( #612 )
...
* Impoved support for wasm global imports
* Refactored parse_import_section improving readability
* Improved support for wasm table imports
* Improved support for wasm memory imports
* Improved formatting
* Added DefinedGlobalIndex, DefinedMemoryIndex, DefinedTableIndex structs
2018-11-25 05:10:58 -08:00
Dan Gohman
74ccddcd64
Update to Cranelift 0.24.
2018-11-25 05:08:29 -08:00
Dan Gohman
0a0108f959
Update to Cranelift 0.22.
2018-11-25 05:08:29 -08:00
Aaron Power
b11646aba3
Fix bit count bug in emit_small_{memcpy, memset, memmove}.
2018-11-20 22:32:52 -06:00
Syrus Akbary
48186b3199
Make TargetIsa thread-safe
2018-11-20 22:15:40 -06:00
Dan Gohman
9e56ed5aad
Bump the minimum Rust version to 1.30.1, following Cranelift's policy.
2018-11-16 12:10:52 -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
Dan Gohman
0fed78e063
Don't allow loop preheaders to have critical edges.
...
If the block which would be a preheader for a loop has other successors,
don't hoist instructions into it. Instead create a dedicated preheader.
2018-11-16 10:27:24 +01:00
Dan Gohman
641771ac6a
Add encodings to the instructions in LICM's generated preheaders.
...
When LICM generates a preheader, it needs to add encodings to the
instructions it generates, since it runs after legalization.
2018-11-16 10:27:24 +01:00
Dan Robertson
c7bc1b7c56
Fix fuzz_reader_parse_test
...
Fix compilation issues with fuzz_reader_parse_test.
2018-11-15 12:23:28 +01:00
Benjamin Bouvier
86cc33673b
Add binary tests for codegen of loads/stores involving r12/r13 on x86;
2018-11-14 13:08:54 -08:00
Benjamin Bouvier
b41bc55007
Pretty-print errors for extended basic blocks too;
2018-11-14 13:08:54 -08:00