Ivan Enderlin
f3be7981d2
test(interface-types) Test negative pointer or length in string.lift_memory
.
2020-03-26 08:30:32 +01:00
Ivan Enderlin
86b545fd49
fix(interface-types) Avoid integer overflows in string instructions.
2020-03-26 08:27:51 +01:00
Ivan Enderlin
0e70e538cc
fix(interface-types) Instruction::CallCore.function_index
is a u32
.
2020-03-26 07:53:44 +01:00
Ivan Enderlin
b0879d1d12
fix(interface-types) Cast index to usize
to compare index to length.
...
The index is bound to `u32::max_value()`. The invocation inputs'
length is bound to `usize::max_value()`, which can be
`u64::max_value`. Consequently, casting the invocation inputs' length
to `u32` can lead to an integer overflow. It is better to cast `index`
to `usize` when comparing with the invocation inputs' length.
2020-03-26 07:46:59 +01:00
Ivan Enderlin
ffe7f765a2
doc(interface-types) Add strign.size
in the list of supported instructions.
2020-03-24 15:35:01 +01:00
Ivan Enderlin
38f62392ff
feat(interface-types) Implement the string.size
instruction.
2020-03-24 15:33:42 +01:00
Ivan Enderlin
daef7b0bfd
feat(interface-types) Add the Stackable::peek1
method.
...
This method allows to peek the last item on the stack (if any) by
reference.
2020-03-24 15:32:54 +01:00
Ivan Enderlin
7f2273b32b
doc(interface-types) Add string.*
instructions.
2020-03-24 13:29:38 +01:00
Ivan Enderlin
ec7aebe7e1
feat(interface-types) Implement the string.(lift|lower)_memory
instructions.
...
The `string.lift_memory` instruction replaces `memory-to-string`, and
`string.lower_memory` replaces `string-to-memory`.
2020-03-24 13:25:06 +01:00
Ivan Enderlin
afbeb5d230
feat(interface-types) Rename lowering_lifting
module to numbers
.
2020-03-24 13:10:21 +01:00
Ivan Enderlin
6fcd45bce3
doc(interface-types) Add links to WIT instructions.
2020-03-24 12:48:33 +01:00
Ivan Enderlin
cd58af2633
doc(interface-types) Update supported instructions.
2020-03-24 12:47:39 +01:00
Ivan Enderlin
50201a5e0b
feat(interface-types) Implement [siu](NN|MM).from_*
instructions.
...
Basically the `x-to-y` instructions have been renamed `y.from_x`. This
patch updates the instruction. The binary representation isn't
specified yet, so it's just arbitrary values.
2020-03-24 12:43:57 +01:00
Ivan Enderlin
a1f0a556e5
fix(interface-types) Use same stack order than Wasm invocation rule.
2020-03-23 14:34:57 +01:00
Ivan Enderlin
693b210638
fix(interface-types) Stack pops items in the same order than Wasm invocation rule.
2020-03-23 14:32:26 +01:00
bors[bot]
704c34283f
Merge #1320
...
1320: Support multiple custom sections with the same name r=MarkMcCaskey a=MarkMcCaskey
The spec doesn't disallow duplicates and the [JS API spec](https://webassembly.github.io/spec/js-api/index.html#dom-module-customsections ) supports them.
# Review
- [ ] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2020-03-21 00:15:24 +00:00
nlewycky
30afd145e0
Merge branch 'master' into feature/llvm-mcg-no-builder
2020-03-20 12:27:48 -07:00
Nick Lewycky
f7d4f855a3
inkwell::Builder is a per-function notion, remove it from LLVMModuleCodeGenerator.
...
This also removes it from the API to generate trampolines, which makes sense because those produce new functions, so it can produce a new builder for the new function.
2020-03-20 12:26:15 -07:00
Mark McCaskey
248e06146a
Support multiple custom sections with the same name
2020-03-20 11:27:23 -07:00
Heyang Zhou
d1e8674f8d
Merge branch 'master' into feature/singlepass-nan-cncl
2020-03-19 12:05:57 +08:00
Jake Shadle
19ffd8ebb9
Fix warning (from clang)
2020-03-18 20:07:12 +01:00
Jake Shadle
9e389b9a5f
Fix cross compilation
...
cfg!()/env!() are applied on the host platform during the build script's
build, the environment of the build script's execution is the proper way
to determine eg target_os
2020-03-18 20:06:55 +01:00
Jake Shadle
4de7deb568
Replace cmake with cc
2020-03-18 20:05:05 +01:00
losfair
c25ba627df
Add comment for call argument list preprocessing.
2020-03-18 23:41:10 +08:00
losfair
8485ccc88c
Update comment for nan_canonicalization
.
2020-03-18 01:48:27 +08:00
losfair
29a431cfc7
Remove 4 spectest excludes that are no longer needed.
2020-03-18 01:43:05 +08:00
losfair
a9cd6d6814
Add aarch64 NaN canonicalization spectest excludes.
2020-03-18 01:16:18 +08:00
losfair
ea0cd7286e
Cargo fmt
2020-03-18 01:03:55 +08:00
losfair
3a18b70d31
Merge remote-tracking branch 'origin/feature/singlepass-nan-cncl' into feature/singlepass-nan-cncl
2020-03-18 01:03:30 +08:00
losfair
86dde8cab2
Add missing movs.
2020-03-18 01:02:59 +08:00
Heyang Zhou
bfc3b8292c
Apply suggestions from code review
...
Co-Authored-By: nlewycky <nick@wasmer.io>
2020-03-18 00:58:50 +08:00
losfair
8e92e3208a
Disable canonicalization for aarch64.
2020-03-18 00:47:52 +08:00
losfair
5e40be48a1
Merge remote-tracking branch 'origin/master' into feature/singlepass-nan-cncl
2020-03-18 00:43:52 +08:00
losfair
72bc9f6531
Add call canonicalization tests.
2020-03-18 00:42:19 +08:00
losfair
1d9f0c53e1
Style fixes and fix missing canonicalization at function call.
2020-03-18 00:42:10 +08:00
Heyang Zhou
5331a1c2e4
Merge branch 'master' into fix/dynamicfunc-panic
2020-03-17 19:02:20 +08:00
losfair
1ddf3a1c4e
Add mem/local NaN tests.
2020-03-17 14:13:31 +08:00
losfair
e0538d32fa
Remove clif spectest excludes.
2020-03-17 13:52:42 +08:00
losfair
4357c15046
Fix missing canonicalizations.
2020-03-17 13:52:11 +08:00
losfair
3ee7f43b1c
Enable nan canonicalization for cranelift backend.
2020-03-17 13:09:22 +08:00
bors[bot]
c177c44aa2
Merge #1310
...
1310: upgrade the blake3 dependency to 0.2 r=MarkMcCaskey a=oconnor663
Version 0.2 makes assembly implementations available. They're off by default, and I haven't enabled them here, because they require the build machine to have a C toolchain installed. But if that's already a requirement for Wasmer, we could enable them with the `"c"` feature, for both better runtime performance and faster build times.
Co-authored-by: Jack O'Connor <oconnor663@gmail.com>
2020-03-16 21:49:54 +00:00
bors[bot]
de0578441b
Merge #1307
...
1307: Add FreeBSD specific failure excludes. r=MarkMcCaskey a=MikaelUrankar
These tests doesn't pass on FreeBSD amd64
Co-authored-by: MikaelUrankar <mikael.urankar@gmail.com>
Co-authored-by: Mark McCaskey <5770194+MarkMcCaskey@users.noreply.github.com>
2020-03-16 21:20:33 +00:00
Jack O'Connor
1cbafeb315
upgrade blake3 to version 0.2
2020-03-16 17:12:26 -04:00
Mark McCaskey
382e244f18
Merge branch 'master' into freebsd
2020-03-16 12:53:10 -07:00
Mark McCaskey
fac27c749b
Merge branch 'master' into feature/improved-wasitests
2020-03-16 12:46:24 -07:00
Mark McCaskey
228c5baa53
Fix typo in wasitest build.rs
...
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
2020-03-16 12:37:23 -07:00
Nick Lewycky
29b5223b3e
Canonicalize NANs produced by f.trunc and f.nearby.
2020-03-16 11:36:17 -07:00
losfair
da07ed5011
Add clif/llvm NaN spectest failure excludes.
2020-03-16 23:40:28 +08:00
losfair
5d26d92d9b
Add switch to turn on/off NaN canonicalization.
2020-03-16 23:40:02 +08:00
losfair
0f663887ad
Handle panics from DynamicFunc.
2020-03-16 22:49:37 +08:00