Alexander Theißen
b2272f39bc
stack_height: if instruction should pop one value from the stack ( #147 )
...
* stack_height: 'if' instruction should pop one value from the stack
* Fix indentation
2021-04-21 14:08:50 +02:00
Michael Mueller
9a0f992cb3
Use results length as arity
2020-12-08 17:24:59 +01:00
Michael Mueller
d6127afd1d
Upgrade to parity-wasm v0.42.1
2020-12-08 16:51:55 +01:00
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
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
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
Sergey Pepyakin
a774a2cb29
Update parity-wasm to 0.39
2019-07-30 16:44:05 +02:00
NikVolf
026b0502bb
fix warnings
2019-07-17 17:01:15 +03:00
Jim Posen
89e13ee901
Cleanup stack height Context.
...
Removes unnecessary Options and fixes typos.
2019-06-26 12:48:51 +02:00
NikVolf
0d40703c6e
fix identation
2019-04-09 19:02:07 +03:00
Sergey Pepyakin
3db0d60e70
Teach stack limiter to handle start fn
2018-12-24 19:20:33 +01:00
Wei Tang
d6f82000ee
Update parity-wasm dependency to 0.31
2018-06-29 19:01:06 +08:00
Hernando Castano
e6e340fa0a
Update matches with single arm to be if-let statements
2018-05-29 22:46:11 -04:00
Wei Tang
a30afec0cd
Port core util lib to support no_std
2018-05-15 08:22:29 +08:00
Sergey Pepyakin
1cebd86bf6
Add 'target' for trace logging in max_height
...
This should greatly reduce log amount when running parity with trace=wasm.
2018-03-25 14:05:42 +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