Syrus Akbary
d2e1098316
Merge pull request #1346 from wasmerio/revert-1343-blake3_update
...
Revert "update blake3 to version 0.3.0"
2020-03-30 15:23:15 -07:00
Syrus Akbary
34638417a9
Revert "update blake3 to version 0.3.0"
2020-03-30 15:22:46 -07:00
Syrus
18c0896423
Trying to ffix pipelines
2020-03-30 15:10:31 -07:00
Syrus
d5cdd497fa
Fixed missing poolName
2020-03-30 15:03:50 -07:00
Syrus Akbary
b3c9abcd59
Merge pull request #1343 from oconnor663/blake3_update
...
update blake3 to version 0.3.0
2020-03-30 14:53:05 -07:00
Syrus
eec7844bae
Added ARM integration
2020-03-30 14:45:26 -07:00
Syrus Akbary
c9113ea6ba
Merge branch 'master' into feature/arm-tests
2020-03-30 14:20:46 -07:00
Syrus
8e144a457b
Adding Azure pipelines to handle ARM
2020-03-30 14:18:51 -07:00
Jack O'Connor
566d2f7467
update blake3 to version 0.3.0
...
Version 0.3 switched to using assembly implementations by default, which
both perform better and build more quickly. This invokes the C compiler
from build.rs. If Wasmer would prefer to avoid that build dependency, we
could enable the new `pure` feature.
2020-03-30 11:19:39 -04:00
Ivan Enderlin
154dcba42c
feat(interface-types) Implement Serde deserializing for WIT records to Rust values.
...
WIT values are native Rust values. But records are represented as a
vector of WIT values. In order to provide a super neat API to the
user, Serde is used to deserialize this vector of WIT values to a
large variety of Rust values.
2020-03-30 15:42:35 +02:00
Ivan Enderlin
a99ae6bdb2
feat(interface-types) Add the Record
WIT value.
2020-03-30 08:32:31 +02:00
nlewycky
c4c4adb7bf
Merge branch 'master' into feature/llvm-target-triple
2020-03-28 11:55:37 -07:00
Syrus Akbary
baa74d7385
Merge pull request #1335 from Hywan/fix-runtime-c-api-1314
...
fix(runtime-c-api) Change mutability of `memory` to`const` in `wasmer_memory_data_length`
2020-03-28 10:41:33 -07:00
Syrus Akbary
b7ad8b2c7a
Merge pull request #1337 from Hywan/fix-interface-types-remove-as
...
feat(interface-types) Better handling of i32 to usize casts
2020-03-28 10:41:06 -07:00
Nick Lewycky
5b7a06c07b
Use the inkwell package on crates.io!!
2020-03-27 15:47:50 -07:00
Mark McCaskey
7cd9e82015
Simplify ImportType
2020-03-27 14:00:02 -07:00
Nick Lewycky
5bd6b161d5
Create a valid target triple in the LLVM Module.
2020-03-27 13:54:18 -07:00
Mark McCaskey
a0dca15fbc
Add misc. fixes and updates from feedback
2020-03-27 13:25:51 -07:00
Ivan Enderlin
2276d16f36
Merge branch 'master' into fix-runtime-c-api-1314
2020-03-27 07:48:23 +01:00
Ivan Enderlin
baeeea1535
doc(changelog) Fix typo.
2020-03-27 07:47:03 +01:00
Mark McCaskey
3eff8c1973
Convert usages of Instance::{func,dyn_func}
to exports.get
2020-03-26 18:13:45 -07:00
Mark McCaskey
2fb8f8197b
Deprecate Instance::func
and Instance::dyn_func
2020-03-26 17:11:37 -07:00
Mark McCaskey
a18371eb91
Implement instance.exports
field syntax
2020-03-26 16:24:23 -07:00
Ivan Enderlin
bd9226eb68
feat(interface-types) Introduce RecordType
for InterfaceType
and Type
.
...
The `Type::Record` variant now is defined by `RecordType`. In
addition, `InterfaceType` has a new variant: `Record`, that is also
defined by `RecordType`. Encoders and decoders are updated to consider
`RecordType`, which removes code duplication and simplify code.
2020-03-26 13:35:24 +01:00
Ivan Enderlin
3c02c501ed
chore(interface-types) Move the instruction.rs
module in instructions/mod.rs
.
2020-03-26 11:24:10 +01:00
Ivan Enderlin
734795c1f4
test(interface-types) Test Type::Record
.
2020-03-26 11:18:24 +01:00
Ivan Enderlin
bbb4f1fc0f
feat(interface-types) Introduce the record type.
...
This patch updates the `Type` type to be an enum with 2 variants:
`Function` and `Record`, resp. to represent:
1. `(@interface type (func (param i32 i32) (result string)))`
2. `(@interface type (record string i32))`
This patch updates the binary encoder and decoder, along with the WAT
encoder and decoder.
2020-03-26 10:54:58 +01:00
Ivan Enderlin
6e5d9624f1
feat(interface-types) Simplify code by implementing From<TryFromIntError>
.
2020-03-26 10:49:49 +01:00
Ivan Enderlin
25cd6cd24a
feat(interface-types) Add the NegativeValue
instruction error.
2020-03-26 08:31:06 +01:00
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
Syrus Akbary
531ec45f34
Merge pull request #1329 from Hywan/feat-interface-types-new-types-and-instructions
...
feat(interface-types) New numbers and strings instructions
2020-03-26 00:02:31 -07: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
f71872c365
doc(changelog) Add #1335 .
2020-03-26 07:35:54 +01:00
Ivan Enderlin
6eaf87d651
chore(runtime-c-api) Update C/C++ headers.
2020-03-26 07:32:57 +01:00
Ivan Enderlin
9826ff3813
fix(runtime-c-api) Change mutability of memory
for const
in wasmer_memory_data_length
.
2020-03-26 07:30:34 +01:00
Ivan Enderlin
4a86cd16f9
Merge branch 'master' into feat-interface-types-new-types-and-instructions
2020-03-26 07:26:37 +01:00
Mark McCaskey
c14c88fb72
Improve high level API test
2020-03-25 16:14:04 -07:00
Mark McCaskey
cc13e45215
Add skeleton of external API and tests
2020-03-24 18:59:09 -07:00
bors[bot]
4e53f9e9c6
Merge #1332
...
1332: Add `CompilerConfig` opt to disable IR verification in debug mode r=MarkMcCaskey a=MarkMcCaskey
Resolves #1330
# Review
- [x] Add a short description of the the change to the CHANGELOG.md file
Co-authored-by: Mark McCaskey <mark@wasmer.io>
2020-03-25 01:26:27 +00:00
Mark McCaskey
697da669a1
Minor code update, move conditional block inwards
2020-03-24 16:00:32 -07:00
Mark McCaskey
ce1b1f67cf
Update opt name in CompilerConfig, enable IR verification in spectests
2020-03-24 15:46:58 -07:00
Mark McCaskey
403e14bc1e
Add CompilerConifg
opt to disable IR verification in debug mode
2020-03-24 14:52:02 -07:00
Ivan Enderlin
b251d6d7b4
doc(changelog) Add #1329 .
2020-03-24 15:42:40 +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