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
Andrew Brown
702155b19b
Optimize vconst for x86 when immediate contains all zeroes or ones
...
Instead of using MOVUPS to expensively load bits from memory, this change uses a predicate to optimize vconst without a memory access:
- when the 128-bit immediate is all zeroes in all bits, use PXOR to zero out an XMM register
- when the 128-bit immediate is all ones in all bits, use PCMPEQB to set an XMM register to all ones
This leaves the constant data in the constant pool, which may increase code size (TODO)
2019-09-24 09:33:07 -07:00
Nicolas B. Pierron
694de912a5
Update brnz.i128 legalization to use non-extended basic blocks.
2019-09-24 15:55:58 +02:00
Nicolas B. Pierron
26cfbafb32
Add ebb macro to insert a new blocks in legalization output.
2019-09-24 15:55:58 +02:00
Nicolas B. Pierron
0c1f17d6dd
Add empty_vararg literal to generate jump instruction.
2019-09-24 15:55:58 +02:00
Nicolas B. Pierron
614fb7b526
Factor out the var_index function.
2019-09-24 15:55:58 +02:00
Pat Hickey
4052bc04ee
cranelift-wasm: upgrade to wasmparser 0.39.1 ( #1068 )
...
Uses new SectionContent api, which is simpler than matching on
SectionCode and then getting the right reader, & avoids possible panics
2019-09-23 16:47:13 -07:00