Commit Graph

2059 Commits

Author SHA1 Message Date
Dan Gohman
1affd5eae7 Add Deref and DerefMut implementations for PrimaryMap. 2018-08-28 20:19:01 -07:00
Dan Gohman
f834afb5f6 Bump cranelift-wasm version to 0.20.1. 2018-08-28 17:18:36 -07:00
Dan Gohman
fcd859a45e Make FuncIndex and DefinedFuncIndex implement the Debug trait. 2018-08-28 17:05:49 -07:00
Dan Gohman
7fa0a38793 Bump version to 0.20.0 2018-08-28 16:37:52 -07:00
Dan Gohman
0842825c38 Minor code simplification. 2018-08-28 16:30:51 -07:00
Dan Gohman
c23bfdaa91 Minor code simplification. 2018-08-28 16:24:10 -07:00
Dan Gohman
d2943ec32d Add a minimal SimpleJIT example program.
This minimally demonstrates usage of the API, and serves as a very small
testcase to test that the basic JIT mechanisms are working.
2018-08-28 16:13:23 -07:00
Dan Gohman
bdd1949b34 Don't pass Copy objects by reference. 2018-08-28 15:33:18 -07:00
Dan Gohman
9ada394d11 [SimpleJIT] When finalizing multiple functions, make them all executable at the end. (#474)
Add `publish()` function to cranelift-module's `Backend` trait, which
allows `finalize_all()` to defer making memory executable until it
has finished all of the patching it needs to do.
2018-08-28 15:27:52 -07:00
Dan Gohman
8e2d01a675 Add an index_type field to Table.
This parallels the `index_type` field in `Heap`.
2018-08-28 14:28:43 -07:00
Dan Gohman
0d24641f21 Fix a verifier test failure.
This test was accidentally relying on the bug that #485 fixed.
2018-08-28 13:50:28 -07:00
Dan Gohman
eb439c9a68 Fix legalization of heap_addrs with 32-bit indices. (#480)
This makes several changes:
 - It adds an index_type to heap declarations, allowing heaps to specify the
   type for indexing. This also anticipates 64-bit heap support.

 - It adds a memory_type to deref global values, allowing deref globals to
   have types other than pointers. This is used to allow the bound variable
   in dynamic heaps to have type i32, to match the index type in heaps
   with i32 index type.

 - And, it fixes heap legalization to do the bounds check in the heap's
   index type.
2018-08-28 13:37:33 -07:00
Dan Gohman
00ddf3a7a6 Update to serde_derive 1.0.75. 2018-08-28 13:23:55 -07:00
Dan Gohman
ba8dd836ff Update to wabt 0.5.0. 2018-08-28 13:23:37 -07:00
Dan Gohman
6af407144c Remove Signature's argument_bytes field.
It's not currently used. If we do need such information, it would be
better to compute it on demand.
2018-08-28 13:19:59 -07:00
Dan Gohman
e60477092a Add a make_signature function for making callable signatures.
The `Module` can create signatures with the appropriate calling
convention.
2018-08-28 13:19:59 -07:00
Grégoire Geis
0e67255f52 Fix error not reported if at least one other error expected. (#485)
* fix error not reported if at least one other error expected.

* Fixed unused extern crate error if wasm feature is not enabled.

* No longer reporting deref cycles multiple times.

* Fix filetest type_check.clif.

* Switched comparison order for perf.

* Fixed isa/riscv/verify-encoding.clif filetest.
2018-08-28 10:33:46 -07:00
Dan Gohman
9eee91fc12 Clarify that we use rustfmt-preview.
This may help avoid confusion with older rustfmt versions.
2018-08-27 16:28:24 -07:00
Dan Gohman
f39428a5cd Update maintainers in VIM syntax highlighting. 2018-08-27 16:28:24 -07:00
Dan Gohman
1b51314381 Update test keywords in VIM syntax highlighting. 2018-08-27 16:28:24 -07:00
Dan Gohman
eab8f784fa Rename nop.cton to nop.clif. 2018-08-27 16:28:24 -07:00
Grégoire Geis
8e74a4f8fc Pretty printing preamble errors. (#472)
* Pretty printing preamble errors.
2018-08-27 09:38:44 -07:00
Dan Gohman
0a65089a36 Add a CONTRIBUTING.md file (#479)
* Add a CONTRIBUTING.md file.

* Document the basic PR process.

This also introduces the Core Team.
2018-08-23 11:03:52 -07:00
Dan Gohman
2c9b7fd73a Add "no-std" category to crates supporting no-std.
And add "wasm" category to cranelift-wasm.
2018-08-22 12:51:54 -07:00
Dan Gohman
18f781e2ab Update to faerie 0.5.0. 2018-08-22 12:51:54 -07:00
Caroline Cullen
0f93ef5cee Changing from docopt to clap for the clif-util #434 (#463)
* Changing from docopt to clap for the clif-util

* Updates to cargo file.

* Remove filecheck subcommand.
2018-08-22 11:25:55 -07:00
Dan Gohman
77eb38c41f [Module] Remove DataDescription's writable field.
It was redundant, as data object declarations also have a writable
field, so just use that, avoiding the need for users to declare the
same thing twice.

Fixes #456.
2018-08-20 16:17:46 -07:00
ms2300
30d09cf6b0 Fixing a couple clippy warnings : #392 2018-08-20 13:35:02 -07:00
Dan Gohman
37272f5ceb Removed "Variable" parametricity for SSABuilder and related code too. 2018-08-17 12:13:34 -07:00
Dan Gohman
ad170c7412 Update to log 0.4.4. 2018-08-17 12:04:01 -07:00
Dan Gohman
ae1a17f6b3 [SimpleJIT] Fix allocation of readonly memory.
Fixes #457.
2018-08-16 18:15:22 -07:00
Dan Gohman
fb1ac22c21 Add fast_finish = true to .travis.yml.
This allows us to get the results for stable builds as soon as they're
ready.
2018-08-16 15:26:53 -07:00
Dan Gohman
3d89a8645b Fix rustfmt errors. 2018-08-16 15:26:53 -07:00
Grégoire Geis
e2badb0ad6 Improvements to error reporting (#470)
* Fixed error reporting.

* Fixed compile time error when wasm feature is disabled.

* Fixed valid instructions not being printed in print_function_error.

* Fixed errors print_function_error not writing valid instructions after end.

* Made multiple checks non-fatal.

* verify_global_values is no longer fatal.

* Slightly better formatting of errors in pretty_verifier_error.
2018-08-16 11:34:52 -07:00
Dan Gohman
304134d351 Update a testcase for API changes. 2018-08-14 16:47:45 -07:00
Caroline Cullen
5f679a7310 Change command line parsing to clap in serde util #434 (#435)
* Change command line parsing to clap in serde util #434
2018-08-14 15:18:10 -07:00
Denis Merigoux
ce7b72743c Updated doc now that Variable is now longer a type parameter 2018-08-14 15:15:09 -07:00
Denis Merigoux
bed8e33c9d Removed "Variable" parametricity for FunctionBuilder as discussed in PR https://github.com/CraneStation/cranelift/pull/437 2018-08-14 15:15:09 -07:00
Denis Merigoux
b7d2df9307 Rewrote doc with @sunfishcode's comments in mind 2018-08-14 15:15:09 -07:00
Denis Merigoux
73511435d0 Better explanation for how to use FunctionBuilder to deal with variable translation 2018-08-14 15:15:09 -07:00
Dan Gohman
6a07c72867 Bump version to 0.19.0 2018-08-14 12:55:34 -07:00
Dan Gohman
932b4ef9f3 Fix a few declarations for the no_std build. 2018-08-14 12:48:47 -07:00
Dan Gohman
6cf7a975a1 Factor out a repeated string, and reduce the length of a long line. 2018-08-14 12:28:33 -07:00
bjorn3
3f0103f936 Prevent finalize being called more than once per func/data (fixes #407) 2018-08-14 10:57:59 -07:00
Grégoire Geis
dbc547091f Verifier now accepts multiple errors (fixes #387). (#452)
* Verifier now accepts multiple errors (fixes #387).
2018-08-14 10:55:10 -07:00
bjorn3
3f582f7cbd Legalize br_icmp (#449)
* Legalize br_icmp
2018-08-13 18:31:39 -07:00
Dan Gohman
bee5210b40 Merge pull request #461 from bjorn3/legalize-bint-i8
Legalize bint.i8
2018-08-13 16:02:11 -07:00
Dan Gohman
fad33a6136 Merge pull request #454 from Amanieu/bforest
Split bforest into a separate crate
2018-08-13 15:59:34 -07:00
Dan Gohman
51698f93f2 Merge branch 'master' into bforest 2018-08-13 15:55:31 -07:00
Caroline Cullen
6f9982fdf5 Updating Sphinx link and install instructions 2018-08-13 15:46:51 -07:00