Commit Graph

6140 Commits

Author SHA1 Message Date
Jef
15bf933be7 Add more float operations 2019-02-27 11:29:23 +01:00
Dan Gohman
fb7c1b7795 Self struct constructors are unstable. 2019-02-26 08:54:36 -08:00
Dan Gohman
3827bc7a04 Avoid struct name repetitions. 2019-02-26 08:54:36 -08:00
Dan Gohman
601057ec42 Tidy up a redundant field name. 2019-02-26 08:54:36 -08:00
Dan Gohman
d7dc36e752 Reorder the fields of Export::Function for consistency. 2019-02-26 08:54:36 -08:00
Dan Gohman
cadead6a86 Use code quotes around VMContext in comments. 2019-02-26 08:54:36 -08:00
Dan Gohman
3cc113482d Rename InstanceContents to Instance. 2019-02-26 08:54:36 -08:00
Dan Gohman
5f201f6d73 Rename Instance to InstanceHandle. 2019-02-26 08:54:36 -08:00
Dan Gohman
21abecb158 Remove an unneeded mut. 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
a8cd5ef613 Refactor Instance's methods to just be wrappers around InstanceContents methods. 2019-02-26 08:54:36 -08:00
Dan Gohman
1ab9e17517 Move Instance's module field into InstanceContents. 2019-02-26 08:54:36 -08:00
Pat Hickey
d2894f9f45 cranelift-faerie: convert to use new extensible decl format
Bump faerie to 0.8.0 and goblin to 0.0.21.

* Preemptible linkages are now weak symbols
* Faerie will put read-only data in .rodata for elf
2019-02-26 08:52:18 -08:00
bjorn3
6267e1ded9 Implement sshr_imm.i8 (#687) 2019-02-25 19:04:32 +01:00
bjorn3
166c11af11 Fix global value colocated printing
It used to print `gv0 = colocated symbol u1:1` while cranelift-reader
expects `gv0 = symbol colocated u1:1`.
2019-02-25 18:01:05 +01:00
Jef
f726a8f36d Add float operations 2019-02-25 15:35:45 +01:00
Jef
ab6b8e983a Add floats 2019-02-25 11:17:21 +01:00
kryptan
83edf959f2 Fix link to issues in rustc.md 2019-02-25 10:20:30 +01:00
robojumper
851f125eda Fix bitrev intrinsic 2019-02-22 16:55:15 -08:00
Dan Gohman
c91ca1b10c Reorganize ModuleEnvironment's contents to more closely reflect cranelift-wasm. 2019-02-21 20:41:36 -08:00
Dan Gohman
78f89f67a3 Update to Cranelift 0.28.0.
Also region 2.0.0 and bindgen 0.47.1.
2019-02-21 20:35:45 -08:00
Dan Gohman
2ac0ceda14 Update to faerie 0.7.1. 2019-02-21 20:28:15 -08:00
Dan Gohman
c7d0eb22d1 Update to wasmparser 0.29.2 and the latest spec_testsuite. 2019-02-21 20:25:00 -08:00
Benjamin Bouvier
603d80615f [meta] Introduce the fmtln! macro to ease writing formatted strings; 2019-02-20 11:31:38 +01:00
Benjamin Bouvier
c8e09cb37f [meta] Use AsRef<str> to allow passing String or &str to Formatter functions; 2019-02-20 11:31:38 +01:00
YISH
90028a6d0d impl Ieee64::from(f64) and Ieee32::from(f32) 2019-02-19 14:03:21 -08:00
Jef
830644e7d0 Remove printlns, make pushing stack arguments work properly 2019-02-19 15:44:04 +01:00
Jef
f1d9ccb9e8 Implement Microwasm 2019-02-19 14:51:30 +01:00
bjorn3
615499bae8 Remove define_function_peek_compiled 2019-02-15 17:22:26 +01:00
Benjamin Bouvier
a45b814de8 Fixes #13: Enable conditional compilation of ISAs through features; 2019-02-12 08:19:57 -08:00
Benjamin Bouvier
049f067168 [meta] Build registers with their own builder and immutably construct the TargetIsa; 2019-02-12 08:19:57 -08:00
Benjamin Bouvier
f78a61b998 [meta] Rename base/ to shared/ in the Rust meta crate; 2019-02-12 08:19:57 -08:00
Benjamin Bouvier
25fdda6134 [meta] Move source generation responsibility into the meta crate itself; 2019-02-12 08:19:57 -08:00
Benjamin Bouvier
afa4a749c5 Fix #666: Change the way we consider a block has been visited in relaxation;
This was previously using the following condition to decide that a block
hadn't been visited yet: either dest_offset is non-0 or the block isn't
the entry block. Unfortunately, this didn't work when the first block
would be non-empty but wouldn't generate code at all.

Since the original code would do at least one pass over the entire code,
the first pass that determines initial EBB offsets is done separately,
without considering branch relaxation. This ensures that all EBBs have
been visited and have correct initial offsets, and doesn't require a
special check to know whether an EBB has been visited or not.
2019-02-12 14:39:45 +01:00
Jef
680a8ed585 Add select 2019-02-08 13:24:59 +01:00
Jef
7788e6cb6b Change wasmparser.rs upstream 2019-02-08 11:53:31 +01:00
Jef
7e5c3c567f Signature checking for call_indirect, integrate with wasmtime 2019-02-08 11:46:25 +01:00
Rett Berg
68479e6115 Clarify br_table
From comments in
https://github.com/CraneStation/cranelift/issues/101#issuecomment-461284555
2019-02-07 09:18:07 -08:00
Dan Gohman
9f9c306091 Fix indentation warnings reported by flake8. 2019-02-06 21:37:05 -08:00
Dan Gohman
d2082abb73 Look for Cargo.toml files only in crate directories. 2019-02-06 21:37:05 -08:00
Rett Berg
084722a118 fix typos in cranelift-frontend/src/lib.rs 2019-02-06 20:31:01 -08:00
Dan Gohman
a94d3587e6 Add vmctx parameters to the spectest implementation functions.
This fixes a mismatch with the change to pass the VMContext parameter
as the first argument.
2019-02-06 06:12:53 -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
4675948c2a Switch to passing the vmctx hidden argument at the beginning.
This switches to passing the vmctx hidden argument at the beginning of
the argument list, rather than the end.
2019-02-01 18:20:28 -08:00
Jef
2fad984a0d Shift and rotate 2019-01-30 11:06:32 +01:00
Yury Delendik
e66f01b923 Update cranelift libraries to 0.28.0 2019-01-29 16:45:41 -08:00
lazypassion
747ad3c4c5 moved crates in lib/ to src/, renamed crates, modified some files' text (#660)
moved crates in lib/ to src/, renamed crates, modified some files' text (#660)
2019-01-28 15:56:54 -08:00