Commit Graph

463 Commits

Author SHA1 Message Date
Alexander Theißen aebfc0fbd7 Fixes necessary for having no_std imports work with edition2018 2020-10-22 12:26:24 +02:00
Alexander Theißen a2653cff5a Update CI script 2020-10-22 10:26:26 +02:00
Alexander Theißen 3142a74de2 Update README.md to reflect the new package unification 2020-10-21 20:49:34 +02:00
Alexander Theißen f556bde4a4 Ignore .vscode directory 2020-10-21 20:26:22 +02:00
Alexander Theißen f05f43b883 Unify pwasm-utils and pwasm-utils-cli packet 2020-10-21 20:24:49 +02:00
Alexander Theißen af761da031 Add repository metadata to Cargo.toml files 2020-10-21 11:37:30 +02:00
Alexander Theißen fbaae277fc bump to 0.15 2020-10-21 11:17:15 +02:00
Sergei Shulepov e0a05c6329 Merge pull request #143 from paritytech/at-instruction-costs
Make the rules passed to gas metering injection generic
2020-10-14 14:55:58 +02:00
Alexander Theißen e0dbaef676 Wrapped overlong line 2020-10-14 14:17:12 +02:00
Alexander Theißen 880d273861 Make the rules passed to gas metering injection generic 2020-10-14 13:26:48 +02:00
Sergei Shulepov 3568667ecb Merge pull request #142 from paritytech/at-cleanup
Address all clippy lints
2020-10-13 16:24:53 +02:00
Alexander Theißen c09a924a81 Address all clippy lints
These changes do not change the behaviour of the
code and should be non-controversial.
2020-10-13 15:42:01 +02:00
Sergei Shulepov f59eb121e5 Merge pull request #141 from paritytech/at-fixes
Fix issues with the stack height metering
2020-10-13 13:51:51 +02:00
Alexander Theißen 1f8e6dd5b2 Don't generate duplicate thunks
Previously, functions that appear in multiple places
(exported, start function, table) would generate a thunk
for each place they appear in. Those additional thunks are
identical and only only one of them would be referenced.
Main offender are tables with redundant entries.

This commit eliminates those duplicate thunks without adding
any additional overhead.
2020-10-13 11:43:59 +02:00
Alexander Theißen 5e3b06de05 Fix Instruction::CallIndirect stack height metering
The stack height metering for functions containing
CallIndirect was wrong. The code did not take into
consideration that is pops one value from the stack.

The effect was that the stack height of functions
using this instruction was higher than its real height.
2020-10-13 11:43:59 +02:00
Alexander Theißen 2306999c9c Fix using Write::write without checking the return value
Use write_all instead which garantues that the whole buffer
was written.
2020-10-13 11:43:40 +02:00
NikVolf 016425a25b bump to 0.14 2020-08-04 13:54:57 +03:00
Alexander Theißen 409ced002a Allow specifying the module of the imported 'gas' function (#140)
* No need for mem::replace when doing a simple assignment

* Allow specifying the module of the imported 'gas' function

This allows users to place the imported function inside a custom
module instead of the generic 'env' module.
2020-08-04 13:53:53 +03:00
NikVolf b61f6dd52f bump to 0.13 2020-08-03 14:59:57 +03:00
Nikolay Volf e026abe166 Export internal globals instrumentation (#138)
* export internal globals

* add test

* Update src/export_globals.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>

* address review

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-08-03 14:58:24 +03:00
Nikolay Volf 8c6dec11a4 Merge pull request #139 from paritytech/update-wabt
Update wabt to 0.10
2020-08-03 14:20:20 +03:00
NikVolf 3f2935df9c update wabt 2020-08-03 14:00:07 +03:00
Nikolay Volf dcf189b822 Merge pull request #135 from osolmaz/correct-spelling
Corrected spelling error
2020-07-29 16:05:53 +03:00
Sergei Shulepov 19b5fb50cb Merge pull request #137 from osolmaz/correct-instruction-type
Corrected InstructionType's for GetGlobal and SetGlobal
2020-07-27 22:26:16 +02:00
Onur Solmaz 1e8953a9cb Corrected InstructionType's for GetGlobal and SetGlobal 2020-07-27 13:56:53 +02:00
Onur Solmaz 377684f9c7 Corrected spelling error 2020-07-23 20:08:03 +02:00
Nikolay Volf e89abb0c17 Merge pull request #134 from bddap/bddap-nostd-on-stable
Bump 'parity-wasm' version to enable no_std builds on stable.
2019-11-01 16:36:11 +03:00
Andrew Dirksen e6336a4a90 Travis-ci was configured to build with no_std only when using rust nightly.
This commit tells travis to attempt no_std builds for both nightly and stable.
2019-10-31 16:56:11 -07:00
Andrew Dirksen a881cf12bb Bump 'parity-wasm' version to enable no_std builds on stable.
Bump own version in preparation for cargo publish.
Bump cli verion to match.
2019-10-31 15:52:09 -07:00
NikVolf 2fe761f8c4 bump cli to 0.11 as well 2019-09-09 16:58:21 +03:00
Sergey Pepyakin 87761dad61 Bump pwasm-utils 0.11.0 2019-09-05 22:58:03 +02:00
Sergei Pepyakin a768692bbe Merge pull request #133 from paritytech/bump-parity-wasm
Bump parity-wasm to latest version
2019-09-05 22:50:02 +02:00
Demi M. Obenour ea4cde0e7d Bump parity-wasm to latest version
to allow Substrate to do the same
2019-09-04 18:14:10 -04:00
NikVolf f9d8b722b5 bump to 0.10 2019-08-29 18:57:46 +03:00
Nikolay Volf 39f234e441 Merge pull request #129 from oscoin/fix-pwasm
Preserve "deploy" when optimizing pwasm ctor module
2019-08-29 18:57:00 +03:00
Thomas Scholtes b4f9be733d Preserve "deploy" when optimizing pwasm ctor module
When optimizing the constructor module for a PWasm contract the "deploy" symbol is preserved instead of the "call"
symbol. Before this change `build` would error for PWasm contracts because `pack_instance` would not find the "deploy"
symbol in the optimized contract.

Fixes #128
2019-08-29 16:27:48 +02:00
NikVolf 155c7253c3 bump to 0.9 2019-08-02 15:21:44 +03:00
Nikolay Volf c9cdef4c51 Merge pull request #126 from paritytech/ser-update-pwasm
Update parity-wasm to 0.39
2019-08-02 15:20:32 +03:00
Sergey Pepyakin 2b5026a6c5 Add notice about parity-wasm features 2019-07-30 16:48:58 +02:00
Sergey Pepyakin a774a2cb29 Update parity-wasm to 0.39 2019-07-30 16:44:05 +02:00
Sergei Pepyakin 6fd636a41d Merge pull request #125 from jimpo/gas-fuzzing
Validate the gas metering algorithm using fuzzer.
2019-07-30 13:04:51 +02:00
Jim Posen 5792da28d5 Fix typo
Co-Authored-By: Sergei Pepyakin <s.pepyakin@gmail.com>
2019-07-25 12:37:57 +02:00
Jim Posen f8673d5b87 Fix dev dependency crate imports. 2019-07-25 11:05:25 +02:00
Jim Posen 5180d694ce Validate the gas metering algorithm using fuzzer. 2019-07-19 11:25:54 +02:00
NikVolf a150df8703 bump to 0.8.1 2019-07-17 18:40:00 +03:00
Sergei Pepyakin ae412c45f1 Merge pull request #124 from paritytech/fix-warnings
Fix warnings
2019-07-17 17:22:31 +03:00
Nikolay Volf 6f46ef5211 Update README.md 2019-07-17 17:02:55 +03:00
NikVolf 026b0502bb fix warnings 2019-07-17 17:01:15 +03:00
NikVolf 2c173fee26 bump to 0.8.0 due to change in gas counting 2019-07-17 16:57:28 +03:00
Sergei Pepyakin 0870ce6646 Merge pull request #122 from jimpo/basic-block
Rewrite gas metering algorithm to handle branches
2019-07-17 16:19:52 +03:00