Andrew Brown
e45ef24d3b
Convert SIMD load and store to their respective CLIF instructions
2019-09-27 12:48:30 -07:00
Peter Huene
406bc7895a
Implement reading module table imports in API. ( #387 )
...
This commit implements populating the table imports of a module from the API.
It also allows for `anyref` in table types as per the reference types proposal.
2019-09-27 05:50:54 -07:00
Dan Gohman
0653ae2c9c
Fix compilation errors.
2019-09-26 19:37:23 -07:00
Dan Gohman
7899784663
Replace println error handling.
...
Use `panic!` and log macros for error handling instead of `println!`.
2019-09-26 19:37:23 -07:00
Dan Gohman
053fb3433e
Fix compilation error.
2019-09-26 17:22:41 -07:00
Dan Gohman
34766f64ea
Recognize "wasi_unstable_preview0" in addition to "wasi_unstable".
2019-09-26 17:22:41 -07:00
Andrew Brown
0667a2897d
Ignore simd_const test when glibc has a floating point parsing issue
2019-09-26 15:46:18 -07:00
Andrew Brown
68de2247bc
Avoid errors when converting V128 for the wasm-c-api
...
For this to work the wasm-c-api must add support for the V128 type (e.g. through __uint128_t)
2019-09-26 15:46:18 -07:00
Andrew Brown
03a9f0e461
Run SIMD const spec test
2019-09-26 15:46:18 -07:00
Andrew Brown
ce8e8662ff
Enable SIMD in WAST testsuites
2019-09-26 15:46:18 -07:00
Andrew Brown
bb244d52d5
Pass enabled features (e.g. --enable-simd) on to WABT when running WAST files
2019-09-26 15:46:18 -07:00
Andrew Brown
fb1c473342
Alter invocation of functions to use 16-byte invocation arguments
2019-09-26 15:46:18 -07:00
Andrew Brown
5bd422b429
Add V128 type
2019-09-26 15:46:18 -07:00
Andrew Brown
290b51a5f6
Update wabt and spec test suite
...
Update wabt (see issue in https://github.com/pepyakin/wabt-rs/pull/56 ). Due to changes in wabt, the spec tests are updated as well.
2019-09-26 15:46:18 -07:00
Sergey Pepyakin
58e3e65bc8
Update lightbeam to rustfmt-ed revision
2019-09-26 15:44:47 -07:00
Dan Gohman
86142f2e94
Use r# to escape strings which may be rust keywords. ( #379 )
...
This is a minor simplification, replacing a hardcoded list of keywords.
2019-09-26 13:44:43 -07:00
Artur Jamro
bbd7e91d1c
Reformat code with new rustfmt ( #28 )
2019-09-26 22:30:20 +02:00
Peter Huene
4288f33440
Fix borrow scope for store in WrappedCallable impl for WasmtimeFn.
...
This PR fixes the borrow scope of store in the `WrappedCallable` impl of
`WasmTimeFn` such that it does not remain borrowed across the call to
`wasmtime_call_trampoline`. By limiting the scope of the borrow, the
implementation can be reentered if an exported function calls an imported
function, which in turn calls another exported function.
Fixes #365 .
2019-09-26 12:55:58 -07:00
Dan Gohman
a666e14279
Temporarily switch to the rustfmt branch of lightbeam.
...
This is branched from master to apply rustfmt, as a temporary measure to
fix the CI.
2019-09-26 12:45:29 -07:00
Dan Gohman
10845134f7
Update to latest walrus, wasmparser, and wasm-webidl-bindings.
2019-09-26 12:34:58 -07:00
Peter Huene
622a630acd
Implement wasm_module_imports. ( #384 )
...
This commit implements `wasm_module_imports` and a few related APIs so that
import information can be read about a module.
2019-09-26 13:57:33 -05:00
Artur Jamro
286d2515f9
Check trap code in test suite assertions
2019-09-26 11:43:41 -07:00
Yury Delendik
b0fe01397b
Use HOST call convension in Func signature ( #383 )
2019-09-26 13:10:41 -05:00
Joshua Nelson
a1f6457e8a
Allow building without std ( #1069 )
...
Closes https://github.com/CraneStation/cranelift/issues/1067
2019-09-26 18:00:03 +02:00
Nicolas B. Pierron
40f6d3b753
Set speed-and-size optimization level for legalize-br-table-bb.clif test case.
2019-09-26 12:05:53 +02:00
Dan Gohman
f6f2995275
Update to the latest spec_testsuite.
...
This pulls in the fix in https://github.com/WebAssembly/spec/pull/1076 .
2019-09-25 22:07:48 -07:00
dependabot-preview[bot]
340cb3dcf5
Update wasmparser requirement from 0.38.0 to 0.39.1
...
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-09-25 21:27:30 -07:00
Paul Jackson
ab8707223c
clarify posix_fallocate vs fd_allocate in docs
2019-09-25 21:21:57 -07:00
Yury Delendik
b41e918ec3
[wasmtime-api] Fixes wasm_exporttype_type leak
2019-09-25 21:19:34 -07:00
Sean Stangl
3d5346a90b
Name opcodes statically in isa/x86. Closes #1051 ( #1079 )
2019-09-25 19:59:49 -06:00
Dan Gohman
e2efa6318b
Remove feature(alloc) declarations which are no longer needed.
2019-09-25 17:57:25 -07:00
Artur Jamro
fa9175f9e5
Trap registry
2019-09-25 17:56:08 -07:00
Artur Jamro
d1706117e5
Enable cache system by default
2019-09-25 16:48:18 -07:00
Artur Jamro
512b1196fd
Cache worker tests
2019-09-25 14:41:14 -07:00
Jakub Konka
d33036a3b5
Fix path_rename on *nix hosts
...
The fix contains an errno remapping in macOS case where in case
when we try to rename a file into a path with a trailing slash an
ENOENT is returned. In this case, if the destination does not exist,
an ENOTDIR should be thrown as is thrown correctly on Linux hosts.
Thus, as a fix, if an ENOENT is thrown, an additional check is
performed to see whether the destination path indeed contains
a trailing slash, and if so, the errno is adjusted to ENOTDIR
to match the POSIX/WASI spec.
2019-09-25 22:20:39 +02:00
Artur Jamro
134bf467e7
Update cranelift to 0.44.0
2019-09-25 13:04:10 -07:00
Nick Fitzgerald
1848cc0868
deps: Update cranelift-* to 0.43.1
2019-09-25 13:04:10 -07:00
Nick Fitzgerald
8c3072c774
Combine VisibleTranslationState and TranslationState ( #1076 )
...
`VisibleTranslationState` was a wrapper around a `TranslationState` that was
meant to public API consumers outside of this crate. However, the internal
`TranslationState` and all its methods were still publicly exposed! This commit
simplifies and remedies the situation by combining them into a single
`TranslationState` type. Most of its methods are only `pub(crate)` now, not
visible to the entire world. The only methods that are `pub` are the ones that
`VisibleTranslationState` exposed.
2019-09-25 13:07:54 -06:00
Benjamin Bouvier
46ab1b4103
Liverange: use a macro to make Order comparisons simpler to read;
2019-09-25 11:43:29 +02:00
Benjamin Bouvier
5beb10e77a
Regalloc: remove the transient LiveRangeContext data structure;
2019-09-25 11:43:29 +02:00
Benjamin Bouvier
b9b1c842e9
Use LiveRange::reaches_use instead of reimplementing it in liveness checks;
2019-09-25 11:43:29 +02:00
Benjamin Bouvier
59f5f12c60
[codegen] Rename GenLiveRange to GenericLiveRange;
...
(to avoid confuson with Gen interpreted as Generator)
2019-09-25 11:43:29 +02:00
Benjamin Bouvier
b036ab77dc
Update comment about the live range implementation details;
2019-09-25 11:43:29 +02:00
Ujjwal Sharma
43a891dfa2
[codegen] add intcc conditions for reading overflow flag
...
Add conditions to IntCC for checking the overflow flag (Overflow,
NotOverflow).
2019-09-25 11:42:58 +02:00
Dan Gohman
dfdd504edc
Bump version to 0.44.0
2019-09-24 16:28:17 -07:00
Ujjwal Sharma
6e131e5347
[codegen] add intcc conditions for reading carry flag
...
Add conditions to IntCC for checking the carry flag (Carry, NotCarry).
Fixes: https://github.com/CraneStation/cranelift/issues/980
2019-09-24 15:12:09 -07:00
Artur Jamro
1431ab5201
Derive serde traits for TrapCode
2019-09-24 10:50:52 -07:00
Andrew Brown
636ef98024
Use existing is_equal predicate with the newly-shared condition codes
...
This removes the `HasConditionCode(&'static str)` predicate and the associated issues with that.
2019-09-24 09:33:07 -07:00
Andrew Brown
c648fa3d06
Move condcodes.rs to a new crate, cranelift-codegen-shared
...
This move allows the `IntCC`/`FloatCC` enums to be used in both meta (for predicate matching) and in codegen. To avoid breaking any code dependent on the previous location of condcodes.rs (`cranelift-codegen/src/condcodes.rs`), the module is re-exported under `cranelift_codegen::ir`.
2019-09-24 09:33:07 -07:00
Andrew Brown
a3db30d97e
Add x86 encoding for SIMD icmp eq
...
Also adds a predicate for matching the `eq` IntCC code (TODO this should be replaced by something more general)
2019-09-24 09:33:07 -07:00