Commit Graph

6542 Commits

Author SHA1 Message Date
Marcin Mielniczuk
947eb1fb53 Move fd_advise on Linux to nix 2019-08-30 15:53:07 +02:00
Nicolas B. Pierron
bb87f1a54a Add EntryRegDiversions to record diversions for each block entry. 2019-08-30 14:48:08 +02:00
Yury Delendik
eced4dd5ff [wasmtime-py] Build wheels for python37 on linux (#310) 2019-08-30 09:30:48 +02:00
Till Schneidereit
9eb1847d80 Add Azure Pipelines CI setup (#948)
Add Azure Pipelines CI setup
2019-08-29 11:31:38 +02:00
Andrew Brown
4e7226ddca Fix documentation warnings in ConstantPool 2019-08-29 11:08:29 +02:00
Jakub Konka
aa28a6d697 Add a test for fd_readdir 2019-08-28 22:50:44 +02:00
Jakub Konka
3609a82dc9 Fix incorrect fd_readdir behaviour
* when executed twice in a row, need to manually reset the stream
  by calling seekdir with __WASI_DIRCOOKIE_START, if __WASI_DIRCOOKIE_START
  was specified
* fix mapping between d_type and __wasi_filetype_t
* include minor refactor - removes use of wasm32 module on the
  host's side
2019-08-28 22:01:24 +02:00
dependabot-preview[bot]
059c437236 Update wasmparser requirement from 0.36.0 to 0.37.1 (#301)
Updates the requirements on [wasmparser](https://github.com/yurydelendik/wasmparser.rs) to permit the latest version.
- [Release notes](https://github.com/yurydelendik/wasmparser.rs/releases)
- [Commits](https://github.com/yurydelendik/wasmparser.rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-28 13:48:16 -05:00
Nicolas B. Pierron
04b10b3fde Add feature flags to test files.
Cranelift can be compiled with feature flags which can change its output. To
accomodate changes of output related to feature flags, test file can now include
`feature "..."` and `feature ! "..."` directives in the preamble of the test
file.

The test runner would skip the test if the flag does not match the expectation
of the test case.
2019-08-28 16:42:07 +02:00
Benjamin Bouvier
26efc696c6 Remove specific calling convention in clif-util's run test. 2019-08-28 16:33:25 +02:00
Andrew Brown
9612c71fbd Remove calling convention on FunctionRunner test
For this test to run on Windows, the explicit calling convention
must be removed so that the parser is free to use the host's
calling convention.
2019-08-28 16:33:25 +02:00
Andrew Brown
6fdc69ff2e Add options for parsing test files (#942)
* Add options for parsing test files

This change allows adding parsing parameters more easily; e.g. a parameter is needed for setting the default calling convention for functions parsed as a part of the `run` test feature.

* Set default calling convention that of the host for `test run` file tests

Previously `test run` used the parser's hard-coded CallConv::Fast as the default calling convention but with this change any test being `run` will use the default calling convention of the machine running the test. `test run` will now throw an error if the calling convention of the function does not match the host's.
2019-08-27 20:31:08 +02:00
Benjamin Bouvier
e4702d695e [meta] Generate doc comments for the encodings tables; 2019-08-27 14:16:54 +02:00
Benjamin Bouvier
69f90b390e Build: remove pip packages from the install step;
Pip packages were installed because of the meta build in Python, but
they're now unused, so it's a waste of build time and cache space.
2019-08-27 11:48:59 +02:00
Benjamin Bouvier
173cfb02e6 Fixes #841: Bump the required version of rustc to 1.37; 2019-08-27 11:48:59 +02:00
Andrew Brown
2b49b51306 Add flags to allow wasm SIMD instructions (#910)
Add `--enable-simd` flag to `clif-util wasm`
2019-08-27 10:52:06 +02:00
Andrew Brown
ca6449626f Verify that cranelift-wasm can translate SIMD instructions
To do so we must use a new version of wabt-rs that allows us to enable features (e.g. SIMD) when translating the wasmtests
2019-08-26 16:12:06 -07:00
Andrew Brown
c595acfd0d Convert constants added by v128.const to the appropriate type before use
By default, constants added by SIMD's v128.const will be typed as I8x16 in CLIF. This type must be changed to the appropriate vector type before use to satisfy cranelift's type checking. To do this, we track what SSA values are created by v128.const and convert them with a raw_bitcast immediately before use in the currently implemented SIMD instructions.
2019-08-26 16:12:06 -07:00
Andrew Brown
020e5987d3 Use little-endian ordering for CLIF vconst immediate
Examining wasm-objdump revealed that it stores SIMD constants in little-endian order, e.g.:

000071 func[2] <test_const>:
 000072: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004
 00007b: 00 03 00 00 00 04 00 00 00 |
 000084: fd 0d 03                   | i32x4.extract_lane 3
 000087: 0b                         | end

This change avoids confusion by making the CLIF representation use little-endian order as well.
2019-08-26 16:12:06 -07:00
Andrew Brown
cb041407c1 Translate existing WASM SIMD operations to CLIF 2019-08-26 16:12:06 -07:00
Andrew Brown
c3cc225de9 Add filetest for verifying emitted rodata (i.e. test rodata) 2019-08-26 16:12:06 -07:00
Andrew Brown
8d812b24cc Add x86 encoding for vconst 2019-08-26 16:12:06 -07:00
Andrew Brown
684721ca29 Add x86 recipe for vconst 2019-08-26 16:12:06 -07:00
Andrew Brown
407d24c013 Add operand kind and format for unsigned 128-bit immediates 2019-08-26 16:12:06 -07:00
Andrew Brown
5ded38ce3e Add unsigned 128-bit immediate 2019-08-26 16:12:06 -07:00
Andrew Brown
7b2d055f78 Add ability to relocate constants using RelocSink 2019-08-26 16:12:06 -07:00
Andrew Brown
c20b13d5a9 Add ConstantPool 2019-08-26 16:12:06 -07:00
Andrew Brown
ea9ee202bb Clear jump tables when function data is cleared 2019-08-26 16:12:06 -07:00
Dan Gohman
8b5b22599f Don't test wasmtime-wasi-c on Windows. (#299) 2019-08-26 15:04:36 -07:00
Dan Gohman
1b2c70309f Only test wasmtime-py and wasmtime-rust if nightly is installed. (#293)
* Only test wasmtime-py and wasmtime-rust if nightly is installed.

* Update test-all.sh

Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
2019-08-26 13:25:07 -07:00
Benjamin Bouvier
67a995f107 [clif-util] Use a simple cfg guard instead of cfg_if for the wasm module; 2019-08-26 17:19:32 +02:00
Yury Delendik
c94c383a7c [wasmtime-api] Implementation of classes for run-{reflect,start,global,memory}-c (#295)
Implements apis for reflect-c, start-c, run-global-c and run-memory-c
2019-08-26 10:07:02 -05:00
Marcin Mielniczuk
417ec0be01 Update src/sys/windows/hostcalls_impl/fs.rs
Co-Authored-By: Jakub Konka <kubkon@jakubkonka.com>
2019-08-26 15:49:48 +02:00
Marcin Mielniczuk
d617fe67ad Check for socket type in filetype.
The signature for Windows has also been changed, so that the function
can be reused in cross-platform modules.
2019-08-26 15:49:48 +02:00
Till Schneidereit
9edbfed65f Switch from mmap to memmap to support Windows 2019-08-26 14:07:39 +02:00
Ujjwal Sharma
ec8f72bf20 Use roundss/roundsd when available for Ceil/Floor/Trunc/Nearest (#931)
Don't tie the preexisting SIMD ISA predicates to the shared
enable_simd setting but make new ones instead.

Fixes: https://github.com/CraneStation/cranelift/issues/908
2019-08-26 13:37:27 +02:00
julian-seward1
b8fb52446c Cranelift: implement redundant fill removal on tree-shaped CFG regions. Mozilla bug 1570584. (#906) 2019-08-25 19:37:34 +02:00
Dan Gohman
45fd9dadd8 Use winapi::ctypes::c_void on Windows. (#297)
`winapi::ctypes::c_void` is apparently distinct from `core::ffi::c_void`
and `libc::c_void`.
2019-08-24 07:04:31 -07:00
Marcin Mielniczuk
8db57bd6c6 Check if testsuite exists, set target dir 2019-08-23 20:36:11 -07:00
Jakub Konka
7e0e8daf46 Check out submodules in Azure 2019-08-23 20:36:11 -07:00
Marcin Mielniczuk
9f840ff6f1 Quick & dirty misc_testsuite 2019-08-23 20:36:11 -07:00
Artur Jamro
479592f8c5 Cache compression (#234) 2019-08-23 16:39:46 -07:00
Andrew Brown
cc57e84cbd Fix segfault due to b64 encoding (#919)
* Fix segfault due to b64 encoding

Prior to this patch, bconst.b64 encoded its instruction with a 32-bit immediate that caused improper decoding of the MOV instruction; instead, use a REX prefix and rely on zero-extension of the immediate. Fixes #911.
2019-08-23 18:04:34 +02:00
Joshua Nelson
1eb6cd93b2 Fix documentation typo
function -> data object
2019-08-23 15:52:49 +02:00
Marcin Mielniczuk
9950bddee5 Use safe casts in path_filestat_set_times on unix. 2019-08-23 13:02:21 +02:00
Yaron Wittenstein
18ecf60ad5 cranelift-wasm: bump wasmparser version to 0.37.0 2019-08-23 11:38:25 +02:00
Sendil Kumar
69d60c4711 update nix version 2019-08-23 09:24:38 +02:00
Artur Jamro
d3815a0399 Implement serde and equality traits for SecondaryMap 2019-08-22 15:54:10 -07:00
Sean Stangl
e736367b8c Make fold_redundant_jumps() feature-gated on basic-blocks 2019-08-22 18:54:49 +02:00
Mike Hommey
97996d79ce Sort custom_legalizes for more deterministic generated code
For better caching.
2019-08-22 11:44:19 +02:00