Chris Fallin
3775276050
Update minimum Rust version in CI to 1.43.0.
...
Firefox currently requires vendored Rust code (including Cranelift) to
compile on Rust 1.43.0, according to this line:
https://searchfox.org/mozilla-central/rev/eb9d5c97927aea75f0c8e38bbc5b5d288099e687/python/mozboot/mozboot/util.py#16
Whenever that version is updated, we can bump this CI check's Rust
version accordingly.
2020-09-10 15:29:07 -07:00
Chris Fallin
170a8112c2
Merge pull request #2191 from bnjbvr/x64-fix-multivalue-store
...
machinst x64: fix gen_store_base_offset for multi-value returns
2020-09-10 09:00:26 -07:00
Benjamin Bouvier
a1bdf11602
machinst x64: fix gen_store_base_offset for multi-value returns;
...
The previous method assumed that this could be used only for I64 values,
but this is actually used for multi-value returns, which can have any
type.
2020-09-10 11:17:41 +02:00
Chris Fallin
bd3ba0a774
Merge pull request #2189 from bnjbvr/x64-refactor-sub
...
machinst x64: a few small refactorings/renamings
2020-09-09 12:40:59 -07:00
Alex Crichton
b189321d61
Actually add instantiate-maybe-invalid fuzz target ( #2190 )
...
Forgot to add it to the manifest so it didn't actually get built!
2020-09-09 12:09:04 -05:00
Benjamin Bouvier
b4a2dd37a4
machinst x64: rename input_to_reg to put_input_to_reg;
...
Eventually, we should be able to unify this function's implementation
with the aarch64 one; but the latter does much more, and this would
require abstractions brought up in another pending PR#2142.
2020-09-09 18:03:59 +02:00
Benjamin Bouvier
cb96d16ac7
machinst x64: inline helper used only once;
2020-09-09 18:03:59 +02:00
Benjamin Bouvier
7a833f442a
machinst: common up some instruction data helpers;
2020-09-09 18:03:59 +02:00
Benjamin Bouvier
a835c247c0
machinst: make get_output_reg target independent;
2020-09-09 18:03:59 +02:00
Benjamin Bouvier
6a3c4fb54e
machinst x64: rename output_to_reg to get_output_reg;
2020-09-09 18:03:59 +02:00
Benjamin Bouvier
9620ce6bdf
machinst x64: mask shift count too;
2020-09-09 18:03:59 +02:00
Benjamin Bouvier
9c328cc64b
machinst x64: Remove unfinished comment;
2020-09-09 18:03:59 +02:00
Chris Fallin
d52797a257
Merge pull request #2188 from akirilov-arm/doom3
...
AArch64: Add various missing SIMD bits
2020-09-09 08:33:41 -07:00
Anton Kirilov
f612e8e7b2
AArch64: Add various missing SIMD bits
...
In addition, improve the code for stack pointer manipulation.
Copyright (c) 2020, Arm Limited.
2020-09-09 13:37:50 +01:00
Chris Fallin
074a0afa83
Merge pull request #2142 from cfallin/machinst-abi-x64
...
x64 new backend: port ABI implementation to shared infrastructure with AArch64.
2020-09-08 18:35:02 -07:00
Chris Fallin
e8f772c1ac
x64 new backend: port ABI implementation to shared infrastructure with AArch64.
...
Previously, in #2128 , we factored out a common "vanilla 64-bit ABI"
implementation from the AArch64 ABI code, with the idea that this should
be largely compatible with x64. This PR alters the new x64 backend to
make use of the shared infrastructure, removing the duplication that
existed previously. The generated code is nearly (not exactly) the same;
the only difference relates to how the clobber-save region is padded in
the prologue.
This also changes some register allocations in the aarch64 code because
call support in the shared ABI infra now passes a temp vreg in, rather
than requiring use of a fixed, non-allocable temp; tests have been
updated, and the runtime behavior is unchanged.
2020-09-08 17:59:01 -07:00
Nick Fitzgerald
3a602994e6
Merge pull request #2185 from alexcrichton/fuzz-maybe-invalid
...
Expand modules instantiated in instantiate-wasm-smith
2020-09-08 17:05:46 -07:00
Alex Crichton
38428e1fbb
Expand modules instantiated in instantiate-wasm-smith
...
This commit uses the new `MaybeInvalidModule` type in `wasm-smith` to
try to explore more points in the fuzz target space in the
`instantiate-maybe-invalid` fuzz target. The goal here is to use the raw
fuzz input as the body of a function to stress the validator/decoder a
bit more, and try to get inputs we might not otherwise generate.
2020-09-08 14:29:27 -07:00
Chris Fallin
3d6c4d312f
Merge pull request #2187 from akirilov-arm/ALUOp3
...
AArch64: Introduce an enum for ternary integer operations
2020-09-08 12:57:59 -07:00
Chris Fallin
e913bcb26a
Merge pull request #2179 from jgouly/mvn
...
arm64: Don't always materialise a 64-bit constant
2020-09-08 09:17:08 -07:00
bjorn3
9428480230
Merge SignExtendAlAh and SignExtendRaxRdx
2020-09-08 15:00:24 +02:00
bjorn3
3dcda164dc
Fix nits
2020-09-08 15:00:24 +02:00
bjorn3
9999913a31
Fix sign extension
...
Co-authored-by: Max Graey <maxgraey@gmail.com >
2020-09-08 15:00:24 +02:00
bjorn3
067255ef45
x64: Implement rotl and rotr for small integers
2020-09-08 15:00:24 +02:00
bjorn3
4251a950ba
x64: Implement ishl, ushr and sshr for small integers
2020-09-08 15:00:24 +02:00
bjorn3
cc35f1e9bb
x64: Misc small integer fixes
2020-09-08 15:00:24 +02:00
bjorn3
ce033f2a0c
x64: Fix udiv and sdiv for 8bit integers
2020-09-08 15:00:24 +02:00
bjorn3
74642b166f
x64: Implement ineg and bnot
2020-09-08 15:00:24 +02:00
bjorn3
f1fdd5764a
Limit jump tables to 32bit in Switch
...
This is the maximum size supported by the x64 backend
2020-09-08 15:00:24 +02:00
Anton Kirilov
e92f949663
AArch64: Introduce an enum for ternary integer operations
...
This commit performs a small cleanup in the AArch64 backend - after
the MAdd and MSub variants have been extracted, the ALUOp enum is
used purely for binary integer operations.
Also, Inst::Mov has been renamed to Inst::Mov64 for consistency.
Copyright (c) 2020, Arm Limited.
2020-09-08 13:22:22 +01:00
Johnnie Birch
a64af55cda
Adds x64 packed negation for the new backend
2020-09-07 11:56:05 -07:00
bjorn3
ba9908dd0f
Don't substract 1 from end_addr in line program writing ( #2174 )
...
* Don't substract 1 from end_addr in line program writing
Fixes #2173
* add testcase for end_sequence having offset past retq (#1 )
* Update tests/all/debug/translate.rs
Co-authored-by: Gabor Greif <ggreif@gmail.com >
Co-authored-by: Gabor Greif <ggreif@gmail.com >
2020-09-07 08:41:44 -05:00
Pat Hickey
48fab12142
Merge pull request #2160 from bytecodealliance/pch/wasi_common_array_writer
...
wasi-common: factor out common string array writer code
2020-09-03 18:01:04 -07:00
Pat Hickey
776f12ae3c
tests: exercise array getters
2020-09-03 16:41:10 -07:00
Pat Hickey
580c236dee
wiggle: implement array get/get_range in terms of ptr/add/as_array
...
hard to get it wrong when you use the safe primitives i already made!
2020-09-03 16:40:45 -07:00
Pat Hickey
1d410d6559
move more constructor stuff into stringarray
2020-09-02 17:16:39 -07:00
Pat Hickey
39f1c9716c
restructure StringArrayWriter trait into StringArray struct
2020-09-02 14:11:32 -07:00
Pat Hickey
b63e974014
code review fixes
2020-09-02 13:39:32 -07:00
Pat Hickey
82b3672956
delete extra dep
2020-09-02 13:18:09 -07:00
Pat Hickey
ddd50f7443
fix error report
2020-09-02 13:13:13 -07:00
Pat Hickey
1047f3ce27
Merge remote-tracking branch 'origin/main' into pch/wasi_common_array_writer
2020-09-02 12:48:01 -07:00
Pat Hickey
2ef78d0a88
Merge pull request #2182 from bytecodealliance/pch/staticvec_broken_again
...
CI: pin nightly toolchain to 2020-08-31 - staticvec is broken with 09-01
2020-09-02 12:47:30 -07:00
Pat Hickey
f3f6127217
maybe try nightly 08-25?
2020-09-02 11:17:54 -07:00
Pat Hickey
e98f136adb
pin nightly toolchain to 2020-08-30 - staticvec is broken with 09-01
2020-09-02 11:12:08 -07:00
Pat Hickey
7eb607b076
bugfix!
2020-09-02 10:55:27 -07:00
Pat Hickey
fe5d6d59e6
wasi example: theres lots of useful tracing messages for debugging
2020-09-01 14:34:12 -07:00
Pat Hickey
a2eae90701
test-all.sh: wasimtime-wasi-c does not exist anymore
2020-09-01 13:50:31 -07:00
Pat Hickey
51d88f7899
wasi-common: move implementation of args, env methods into StringArrayWriter
2020-09-01 13:50:31 -07:00
Pat Hickey
6213a05c85
wiggle: add array indexing methods to GuestPtr<[T]>
2020-09-01 13:50:31 -07:00
Pat Hickey
87222d6db0
wasi-common: move GuestPtr deref out of path::get
2020-09-01 13:50:30 -07:00