Commit Graph

90 Commits

Author SHA1 Message Date
Wei Tang 605c99974b Fix tests 2018-05-15 08:25:35 +08:00
Wei Tang a30afec0cd Port core util lib to support no_std 2018-05-15 08:22:29 +08:00
Wei Tang bb47c22618 Refactor executables to separate crates 2018-05-15 08:05:00 +08:00
Sergey Pepyakin 6c655fadcd Refactor gas metering. 2018-04-24 16:05:13 +03:00
NikVolf 3bb720befa Don't panic on missing import section 2018-04-18 18:34:26 +03:00
fro 109c441a92 packer test added 2018-04-05 22:25:05 +03:00
fro a77ca2a974 ensure here that module has the DataSection 2018-04-05 21:34:10 +03:00
NikVolf abc9818925 packing errors also 2018-03-27 17:12:55 +03: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
NikVolf e22180b847 add stack adjustments pass option and disable it by default 2018-03-24 17:38:30 +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
NikVolf 48232fb9bb fix grow memory injector 2018-02-21 20:45:11 +03:00
NikVolf 9e92237c4d add rules with forbid operations 2018-02-19 19:28:12 +03:00
NikVolf 68e03ef150 match derefed 2018-02-08 14:45:57 +03:00
NikVolf 7dd716b6bc finish with ret introduction 2018-02-08 01:17:39 +03:00
NikVolf 614cdbf131 refactor pack 2018-02-08 00:49:52 +03:00
NikVolf 9d27c6b05a also set max pages in wasm-build 2018-02-05 19:43:36 +03:00
NikVolf e2b8c9431f add stack alteration in wasm-build 2018-02-05 18:22:51 +03:00
NikVolf 67a542927a fix attempt 2018-02-05 15:35:26 +03:00
Nikolay Volf 0345b7c9c8 Merge pull request #53 from paritytech/grow-gas
Add gas metering injection for grow_memory
2018-02-05 13:16:29 +03:00
NikVolf d220107dab add validation via wabt-rs and fix 2018-02-05 00:43:28 +03:00
NikVolf 24dc9e3f15 add grow memory injecting 2018-02-05 00:32:51 +03:00
NikVolf d217c1eae0 remove memory symbol from export 2018-02-04 22:12:34 +03:00
NikVolf c7e2ec5c60 Merge branch 'preserve-start' into unknown-lift 2018-02-01 15:26:14 +03:00
NikVolf 89457adf73 also rewire func index 2018-02-01 15:25:59 +03:00
NikVolf e25b6cf6e3 fix index 2018-02-01 15:20:49 +03:00
NikVolf 4c0fd7e410 fix index 2018-02-01 15:20:23 +03:00
NikVolf 52da6f00e9 Merge branch 'preserve-start' into unknown-lift 2018-02-01 15:17:48 +03:00
NikVolf c216d98b7e start function 2018-02-01 15:16:19 +03:00
NikVolf a1ecded58c fix dependencies and deprecate test 2018-01-30 19:35:51 +03:00
NikVolf 057acd8995 fix warnings 2018-01-30 15:31:03 +03:00
NikVolf 6878005822 make unknown-unknown primary 2018-01-30 15:21:17 +03:00
NikVolf ce2d2c57ae fix & update packing test 2017-12-27 16:29:26 +03:00
NikVolf f146187e00 finalize tool 2017-12-27 12:12:09 +03:00
NikVolf 06219aa6e2 externalize mem 2017-12-26 16:03:59 +03:00
NikVolf fceb0ce7f1 argument parsing, mem ext stub 2017-12-26 14:03:08 +03:00
NikVolf 1264a262d1 fix final bug, tests impossible 2017-11-22 16:45:25 +03:00
NikVolf a1e6eddc70 fix bug and proper test 2017-11-22 16:08:13 +03:00
NikVolf 399d1fe22f compare with slice 2017-11-22 13:15:56 +03:00
NikVolf 70c6079026 remove redundant match 2017-11-22 13:13:53 +03:00
NikVolf 89867d7ddb some validation in packing 2017-11-22 01:40:58 +03:00
NikVolf a08b9e7dff bundle constructor in a more secure way 2017-11-22 01:24:15 +03:00
fro 6d42e52473 fix test 2017-11-15 19:33:39 +03:00
fro b8354e292c rename symbol _create to _deploy due to name conflict with external "create" which creates a contract 2017-11-15 19:14:08 +03:00
Sergey Pepyakin d2c1d92e2b Don't externalize setTempRet0
It is not longer needed, as we stopped to do legalization for JS FFI.
2017-11-09 22:25:27 +03:00
fro 74bd744b1e move result code on the top of create 2017-11-01 17:47:34 +03:00
fro d1f042cee8 grumbles fixed 2017-10-30 18:35:20 +03:00
fro 092fb20347 fix warnings 2017-10-27 19:50:12 +03:00
fro 5f9460dbdf write to pointer check 2017-10-27 19:46:31 +03:00
fro 4a70824a88 test for pack added 2017-10-27 18:32:33 +03:00