Commit Graph

7919 Commits

Author SHA1 Message Date
bjorn3
ff22842da5 More atomic ops 2021-02-18 14:16:15 +01:00
Chris Fallin
7b4652bb82 Merge pull request #2654 from kaseyc/rex
Add methods to construct RexFlags from OperandSizes.
2021-02-17 19:27:18 -08:00
Kasey Carrothers
9c3edee9d0 Add methods to construct RexFlags from OperandSizes.
This unifies the logic around Rex prefix emission and hopefully makes REX prefix errors less likely.
There are still several instructions that use other sources to determine the flags, so set_w and clear_w are left as is.

Additional cleanups:
  * Change always_emit_if_8bit_needed to take a Reg instead of a u8 for type safety.
  * Deduplicated emission code in MovRM.
2021-02-17 18:48:05 -08:00
Dan Gohman
8d90ea0390 Bump version to 0.23.0
I used a specially modified version of the publish script to avoid
bumping the `witx` version.
2021-02-17 15:35:43 -08:00
Pat Hickey
38b63f525e Merge pull request #2658 from Daniel-Liu-c0deb0t/anytrue-type
Specified type for V128AnyTrue
2021-02-16 17:30:37 -08:00
c0deb0t
fdd6bcae2e Specified type for V128AnyTrue 2021-02-16 15:13:23 -08:00
Dan Gohman
285a7feb19 128-bit operations are only for the new x64 backend. 2021-02-16 14:10:05 -08:00
Dan Gohman
64002cb0e9 Add release notes for a 0.23.0 release. 2021-02-16 14:10:05 -08:00
Dan Gohman
3ed46e47e9 Supress a warning in lightbeam. 2021-02-16 14:10:05 -08:00
Chris Fallin
e5267f056f Update rand dependency to 0.8.3. 2021-02-16 14:10:05 -08:00
Chris Fallin
8cd64e3ec6 Fix warnings (causing CI failures) with new Rust beta.
- Panic messages must now be string literals (we used `format!()` in
  many places; `panic!()` can take format strings directly).
- Some dead enum options with EVEX encoding stuff in old x86 backend.
  This will go away soon and/or be moved to the new backend anyway, so
  let's silence the warning for now.
- A few other misc warnings.
2021-02-16 14:10:05 -08:00
Dan Gohman
d0e5d347b1 Update to rand_core 0.6.2.
See https://rustsec.org/advisories/RUSTSEC-2021-0023
2021-02-16 14:10:05 -08:00
Dan Gohman
b396f6dc6f Switch from memmap to memmap2.
See https://rustsec.org/advisories/RUSTSEC-2020-0077
2021-02-16 14:10:05 -08:00
Dan Gohman
d598883f3a Switch from term to termcolor.
See https://rustsec.org/advisories/RUSTSEC-2018-0015
2021-02-16 14:10:05 -08:00
Alex Crichton
09b976e1d5 Fix a number of warnings on nightly Rust (#2652)
This fixes some issues that are cropping up where some syntax will get
phased out in 2021
2021-02-11 12:42:45 -06:00
Pat Hickey
9abae356e0 fix! 2021-02-10 16:54:14 -08:00
Pat Hickey
bc95864202 wasi-tests: add path_exists test
this *should* reproduce the report at
https://github.com/bytecodealliance/wasmtime/issues/2642 but it does
not, so the problem has something to do with invoking via wasmtime cli?
2021-02-10 16:54:14 -08:00
Pat Hickey
c9d8ed03c9 wasi-common: fix fdstat of dirfd
the fdstat of a dirfd needs to include both the file and dir rights in
the inheriting field.

The wasi-libc path_open bases the base rights of child directories off
the inheriting rights of the parent, so if we only put file rights in
there, opening a child directory will not have any directory operations
permitted.

Fixes https://github.com/bytecodealliance/wasmtime/issues/2638
2021-02-10 16:53:39 -08:00
Nick Fitzgerald
ab811d7445 Merge pull request #2648 from alexcrichton/tweak-fuel-c-api
Tweak C API for fuel
2021-02-09 09:26:14 -08:00
Alex Crichton
de27fbe20f Tweak C API for fuel
* Ensure `store` is in the function names
* Don't abort the process on `add_fuel` when fuel isn't configured
* Allow learning about failure in both `add_fuel` and `fuel_consumed`
2021-02-09 07:19:22 -08:00
Alex Crichton
5b55ba8053 Use sigsetjmp instead of setjmp (#2645)
Apparently on macOS `setjmp` manipulates the process-wide signal mask
which adds a good deal of overhead. We don't actually need this
functionality so this commit switches to using the `sig` version of
setjmp/longjmp where we can explicitly ask the signal mask to not get
preserved. This came out of poking around on #2644 and on macOS locally
thi sdropped the overhead from 721ns to 55ns.
2021-02-08 12:05:11 -06:00
Shu
8ee0f09983 Add fuel related functions to c-api (#2643)
Co-authored-by: Shu <me@wadza.fr>
2021-02-08 10:03:25 -06:00
Pat Hickey
1fe58fe9a4 Merge pull request #2641 from bytecodealliance/pch/fix_wasi_ctx_build
WasiCtx: default to empty/sink stdio files rather than throw
2021-02-05 18:39:15 -08:00
Pat Hickey
e4ce04bab4 WasiCtx: default to empty/sink stdio files rather than throw
the test harness now uses the empty stdin file. I tested manually that
the sink stdout & stderr files work, but theres no test in tree at the
moment
2021-02-05 17:50:20 -08:00
Pat Hickey
e4827ad779 Merge pull request #2487 from bytecodealliance/pch/wasi_common_cap_std
rewrite wasi-common in terms of cap-std
2021-02-04 18:02:45 -08:00
Pat Hickey
6fb2c29654 remove development scaffolding 2021-02-04 17:09:23 -08:00
Pat Hickey
21a1307c10 latest cap-std 0.13.3 fixes windows bug 2021-02-04 17:00:39 -08:00
Pat Hickey
c535b94c73 theres the bug 2021-02-04 15:38:02 -08:00
Pat Hickey
4681e18ee0 will this fix it? 2021-02-04 14:58:44 -08:00
Pat Hickey
5ff9578b5c wasi-common: WASI/phases is included in the package 2021-02-04 10:37:45 -08:00
Pat Hickey
35261453e9 wasi-common 0.13.2 2021-02-04 10:03:34 -08:00
Chris Fallin
40c4c6ac9b Merge pull request #2636 from bjorn3/fix_build_value_labels_ranges_no_labels
Fix build_value_labels_ranges for newBE when there are no labels
2021-02-04 09:38:25 -08:00
bjorn3
602006ff9d Fix build_value_labels_ranges for newBE when there are no labels 2021-02-04 11:46:20 +01:00
Pat Hickey
e2b67aa9a3 simplify life for readdir implementors 2021-02-03 18:04:26 -08:00
Pat Hickey
72a8f9235d cap-primitives bump fixes windows bugs 2021-02-03 17:35:07 -08:00
Pat Hickey
c8ca639b93 new cap-std apis fix some windows tests!
fix for fd_readdir test on linux, and symlink_create / nofollow_errors
2021-02-03 16:16:23 -08:00
Pat Hickey
e670c46862 system-interface 0.6 2021-02-03 16:07:05 -08:00
Pat Hickey
1a45096ee6 wasi-common, wasi-cap-std-sync, wasmtime-wasi should all be published now 2021-02-03 15:52:26 -08:00
Pat Hickey
bc1992b9a8 cap-std 0.13 2021-02-03 15:46:03 -08:00
Pat Hickey
31145060b2 remove virtfs - it is not suitable for use 2021-02-03 15:04:02 -08:00
Pat Hickey
7a35763d62 collapse two test flags into dangling_filesystem 2021-02-03 14:54:42 -08:00
Pat Hickey
a9639e52a4 publish script: tell me more about the failure please 2021-02-03 14:26:52 -08:00
Pat Hickey
b382a1e0d7 back out wasi-cap-std-sync special test step 2021-02-03 14:23:00 -08:00
Pat Hickey
d62b0a1f97 table keys can wrap around 2021-02-03 11:09:05 -08:00
Kasey Carrothers
7bd96c8e2f Refactor x64::Insts that use an is_64 bool to use OperandSize. 2021-02-03 10:40:11 -08:00
Kasey Carrothers
3306408100 Refactor x64::Inst to use OperandSize instead of u8s.
TODO: some types take a 'is_64_bit' bool. Those are left unchanged for now.
2021-02-03 10:40:11 -08:00
Kasey Carrothers
b12d41bfe9 Expand x64 OperandSize to support 8 and 16-bit operands.
This is in preparation for refactoring all x64::Inst arms to use OperandSize.

Current uses of OperandSize fall into two categories:
  1. XMM operations which require 32/64 bit operands
  2. Immediates which only care about 64-bit or not.

Adds assertions to existing Inst constructors to check that they are passed valid sizes.
This change also removes the implicit widening of 1 and 2 byte values to 4 bytes. from_bytes() is only used by category 2, so removing this behavior will not change any visible behavior.

Overall this change should be a no-op.
2021-02-03 10:40:11 -08:00
Chris Fallin
7aecd6dac9 Merge pull request #2631 from bjorn3/newbe_debuginfo_stackslot_offsets
Make the stackslot offsets available for debuginfo
2021-02-03 09:36:55 -08:00
bjorn3
76d615049d Make the stackslot offsets available for debuginfo 2021-02-03 17:48:52 +01:00
Pat Hickey
b29a3bfbb2 fix warnings 2021-02-02 17:08:58 -08:00