Filipe Azevedo
4a51f16874
handle debug info ( #16 )
2022-06-06 15:42:52 +01:00
Alexander Theißen
4548a86329
Add test to measure size overhead ( #8 )
...
* Don't use parity-wasm directly
* Add test that output size over head of metering
2022-01-31 14:50:32 +01:00
Alexander Theißen
7c843842a7
Run CI on windows, too ( #7 )
...
* Run CI on windows, too
* Build path without `concat!` macro
* Fix ci on windows
2022-01-31 11:03:18 +01:00
Alexander Theißen
374afe5700
Replace wabt with rust tools ( #5 )
2022-01-30 13:05:07 +01:00
Alexander Theißen
57da96fb50
Consider activation frame for stack height metering ( #2 )
...
* Charge a base cost for calling a function
* Added regression test for empty functions
* Satisfy clippy
2022-01-18 18:04:17 +01:00
Alexander Theißen
e882111f92
Remove everything not needed by substrate
...
Also rename to wasm-instrument
2022-01-11 17:50:24 +02:00
Alexander Theißen
a0b548b37d
Add rustfmt.toml from substrate repo ( #161 )
...
* Add rustfmt.toml from substrate repo
* Apply rustfmt to code base
* Fix formatting
* Move rustfmt job to the top
2021-07-27 14:46:28 +02:00
Sergei Shulepov
0cead7ba6d
Merge pull request #151 from paritytech/ser-bless
...
Add BLESS env option
2021-06-10 11:13:04 +02:00
Sergei Shulepov
9e98400de0
Update tests/diff.rs
...
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2021-06-10 10:49:16 +02:00
Sergey Shulepov
19760b5835
Fix counting of the local variables
...
The code assumed that the number of `Local` and number of locals is the
same thing. In reality though it is not. `Local` actually represents a
group of locals with the same type. The group can declare more than one
variable and the number of them is returned by `Local::count`.
In this PR we acknowledge this fact. Along the way we add a checked
arithmetic for locals_count and max_stack_height summation.
2021-06-09 19:22:40 +02:00
Sergey Shulepov
717aa8f0cb
Add BLESS env option
...
Right now if there is a diff between the actual and expected results,
the expected file will be overwritten. This may be annoying. To make it
controlled we introduce BLESS option.
This means that the expected files won't be regenerated unless this
environment variable is set.
Therefore to regenerate the tests use:
BLESS=1 cargo test
2021-06-09 19:17:54 +02:00
Alexander Theißen
1b0ed1b383
Transition to Rust 2018 style imports
2021-05-26 14:59:04 +02: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
Jim Posen
863744b1fc
Add gas test confirming that br instructions do not end blocks.
2019-07-01 17:02:21 +02:00
NikVolf
0d40703c6e
fix identation
2019-04-09 19:02:07 +03:00
Sergey Pepyakin
1b7a5d26ea
A couple of small tests.
2019-04-03 14:24:01 +02:00
NikVolf
06277915da
some graph structure definition
2019-01-21 17:04:31 +03:00
Sergey Pepyakin
8db40174ae
Add gas tests.
2018-12-24 20:43:23 +01:00
Sergey Pepyakin
3db0d60e70
Teach stack limiter to handle start fn
2018-12-24 19:20:33 +01:00
NikVolf
b0f43bb575
rename crate
2018-03-13 16:02:34 +03:00
Sergey Pepyakin
9527b969a4
Impl stack height limiter ( #64 )
...
* Initial implementation
* Add wasm-stack-height binary
* Fixes and tracing.
* Doc fixes.
* Fix type resolving for thunks.
* Fix thunk numbering.
* Don't generate thunks for fns with stack_cost = 0
* Diff tests.
* Add table tests.
* Add global test.
* Make tests deterministic.
* Refactoring.
* Clean and refactor.
* Rename Context → Stack in stach_height.
* Don't generate call wrappers if stack_cost = 0
* Errors instead of panics.
* Add with_stack_limit function.
* Fix thunk generation.
* Pass the stack height limit as separate value.
* Use .unwrap_or_default() in diff.rs.
* Remove redundant &.
* Remove simple_test.
* Remove variants of the Error.
* `resolve_func_type` returns an Error.
* Don't unwrap for .last()
* Remove stack_limit from rules::Set
* Rename max_height::compute.
2018-02-27 16:52:37 +03:00