Kian Paimani
abd08e29ce
Rewrap all comments to 100 line width ( #9490 )
...
* reformat everything again
* manual formatting
* last manual fix
* Fix build
2021-08-11 14:56:55 +00:00
Squirrel
aafe64315a
Remove extra commas made redundent after rustfmt ( #9404 )
...
* Remove extra commas made redundent after rustfmt
2021-07-22 11:06:17 +01:00
Bastian Köcher
7b56ab15b4
Run cargo fmt on the whole code base ( #9394 )
...
* Run cargo fmt on the whole code base
* Second run
* Add CI check
* Fix compilation
* More unnecessary braces
* Handle weights
* Use --all
* Use correct attributes...
* Fix UI tests
* AHHHHHHHHH
* 🤦
* Docs
* Fix compilation
* 🤷
* Please stop
* 🤦 x 2
* More
* make rustfmt.toml consistent with polkadot
Co-authored-by: André Silva <andrerfosilva@gmail.com >
2021-07-21 14:32:32 +00:00
Kian Paimani
9cd04f3559
Allow the allocator to track the heap changes. ( #9291 )
...
* Allow the allocator to track the heap changes.
* fix build
* review comments
* Update client/allocator/Cargo.toml
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/allocator/Cargo.toml
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-07-07 05:32:57 +00:00
Squirrel
d7804c0929
Move client only primitives to another dir ( #9220 )
...
* Move alloc primitive (not used in /pallets)
* Move to alternative location as not shared
* moved crates to different dir
* ren sp_chain_spec to sc_chain_spec_primatives
* merged sc-chain-spec and moved allocation up one.
* no no_std
* nudge
* Bump CI
2021-06-30 12:06:39 +02:00
Sergei Shulepov
3df32a5411
Decommit instance memory after a runtime call on Linux ( #8998 )
...
* Decommit instance memory after a runtime call on Linux
* Update documentation for the test
* Remove unfinished comment
* Use saturating_sub.
Also update the doc comment.
* Precise RSS tracking in the test
Instead of tracking RSS for the whole process we just look at the particular mapping that is associated with the linear memory of the runtime instance
* Remove unused import
* Fix unused imports
* Fix the unused imports error for good
* Rollback an accidental change to benches
* Fix the test
* Remove now unneeded code
2021-06-14 21:07:06 +00:00
Sergei Shulepov
bf229f0ba4
Do not spend time on verifying the signatures before calling Runtime ( #8980 )
2021-06-01 14:43:29 +00:00
Sergei Shulepov
b2a6ad0553
Opt-out from fast instance reuse and foundation for other refactorings ( #8394 )
...
* Establish the runtime_blob module
Seed it with the existing contents of the `util` module.
* Port wasmtime mutable globals instrumentation into runtime blob APIs
* Opt-out from fast instance reuse
* Minor clean up
* Spaces
* Docs clean up
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Factor out the expects
* Fix the suggestion
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-04-06 18:21:34 +02:00
dependabot[bot]
884d916559
Bump wasmtime from 0.19.0 to 0.22.0 ( #7865 )
...
* Bump wasmtime from 0.19.0 to 0.22.0
Bumps [wasmtime](https://github.com/bytecodealliance/wasmtime ) from 0.19.0 to 0.22.0.
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases )
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-some-possible-changes.md )
- [Commits](https://github.com/bytecodealliance/wasmtime/compare/v0.19.0...v0.22.0 )
Signed-off-by: dependabot[bot] <support@github.com >
* Account for ImportType::name() being an Optional
* Account for parameters being a impl Iterator now
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-02-08 13:03:05 +00:00
Bastian Köcher
e3e651f72c
Happy new year ( #7814 )
...
* Happy new year
Updates the copyright years and fixes wrong license headers.
* Fix the template
* Split HEADER into HEADER-APACHE & HEADER-GPL
2021-01-04 09:03:13 +00:00
Nikolay Volf
a062bc2f1d
Runtime worker threads ( #7089 )
...
* std variant
* principal work
* format and naming
* format and naming continued
* working nested fork
* add comment
* naming and tabs
* line width
* fix wording
* address review
* refactor dynamic dispatch
* update wasmtime
* some care
* move ext
* more refactor
* doc effort
* simplify
* doc effort
* tests and docs
* address review
* naming
* explain some args
* add example
* unwinding for native and tests
* rename stray
* fix refs
* fix tests
* fix warnings
* stray naming
* fixes and comments
* Update primitives/io/src/tasks.rs
Co-authored-by: cheme <emericchevalier.pro@gmail.com >
* make examples "compile"
* dyn_dispatch -> spawn_call
* fix impl
* address review
* Update primitives/io/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update primitives/io/src/tasks.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update primitives/io/src/async_externalities.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update primitives/io/src/tasks.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update frame/example-parallel/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* fix compilation
* Update client/executor/common/src/wasm_runtime.rs
Co-authored-by: Sergei Shulepov <sergei@parity.io >
* address review
* Update client/executor/wasmtime/src/instance_wrapper.rs
Co-authored-by: Sergei Shulepov <sergei@parity.io >
* Update client/executor/src/native_executor.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update primitives/io/src/tasks.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/executor/src/native_executor.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update primitives/io/src/tasks.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/executor/wasmtime/src/instance_wrapper.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* address some issues
* address more issues
* wasm_only interface
* define sp_tasks
* avoid anyhow
* fix example
Co-authored-by: cheme <emericchevalier.pro@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Sergei Shulepov <sergei@parity.io >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-10-20 12:41:51 +00:00
Nikolay Volf
c347300e3e
Move to upstream wasmtime, refactor globals snapshot ( #6759 )
...
* refactor globals snapshot
* ignore test
* update pwasm-utils ref
* line width
* add doc comment for internal struct
* add explanation for iteration
* Demote rustdoc to a comment
* use 0.14
Co-authored-by: Sergei Shulepov <sergei@parity.io >
2020-08-11 15:05:31 +00:00
Nikolay Volf
85a9af64d8
Update wasmtime to (almost) lastest master ( #6662 )
...
* update wasmtime to (almost) lastest master
* bump lock
* bump once more
2020-07-22 21:09:31 +02:00
Pierre Krieger
717fa95bc7
Restore the empty line after the license ( #6088 )
2020-05-20 13:08:27 +00:00
Nikolay Volf
d5411969ac
fix whitespace ( #6062 )
2020-05-18 13:51:28 +02:00
Benjamin Kampmann
be8c96adec
Relax substrate licensing scheme ( #5947 )
2020-05-15 13:21:56 +02:00
Arkadiy Paronyan
e0b17dd7a9
Bump wasmtime again ( #5950 )
...
* Update wasmtime (#5822 )
* update wasmtime
* update tests
* Update client/executor/wasmtime/src/host.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* wip
* use master-candidate
* update with patches
* update versions
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Bump version
* Added parallel execution test
Co-authored-by: Nikolay Volf <nikvolf@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-05-08 22:22:54 +02:00
Bastian Köcher
eff1680aed
Revert "Update wasmtime ( #5822 )" ( #5935 )
...
This reverts commit e5163380e7 .
We found some bugs that we first need to fix.
2020-05-07 11:47:38 +02:00
Nikolay Volf
e5163380e7
Update wasmtime ( #5822 )
...
* update wasmtime
* update tests
* Update client/executor/wasmtime/src/host.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* wip
* use master-candidate
* update with patches
* update versions
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-05-04 15:24:05 +02:00
Sergei Pepyakin
0629f999ff
Reuse wasmtime instances, the PR ( #5567 )
...
* Preserve a single wasmtime instance.
* Sketch of wasm instance reusing.
* Refactor and docs.
* Rename state_snapshot to util module.
* Renaming.
* Comments.
* Error handling
* More fixes.
2020-04-08 18:45:25 +02:00
Shawn Tabrizi
c7a14db792
Fix various spelling errors ( #4940 )
...
* meaningfull -> meaningful
* initialise -> initialize
* tokans -> tokens
* incentivise -> incentivize
* lenght -> length
* incentivisation -> incentivization
* doesnt't -> doesn't
* overwriten -> overwritten
* lifecycle -> life cycle
* lifecycle -> life cycle
* usefull -> useful
* noone -> no one
* spaming -> spamming
* defered -> deferred
* hieght -> height
* sumation -> summation
* ingore -> ignore
* registed -> registered
* Auxialary -> Auxiliary
* loggin -> logging
* independance -> independence
* trailling -> trailing
* responsability -> responsibility
* trunkated -> truncated
* Weither -> Whether
* informations -> information
* Runtume -> Runtime
* choosen -> chosen
* delcataion -> declaration
* Unchekced -> Unchecked
* defintion -> definition
* scrach -> scratch
* imput -> input
* transfered -> transferred
* endownment -> endowment
* Determinator -> Determiner
* relevent -> relevant
* emited -> emitted
* acocunt -> account
* proprotional -> proportional
* instantiaion -> instantiation
* commited -> committed
* tombstonedead -> tombstone
* uwnrap -> unwrap
* acount -> account
* specialised -> specialized
* existant -> existent
* requried -> required
* Anull -> Annul
* AUTHORITES -> AUTHORITIES
* underyling -> underlying
* recognisable -> recognizable
* Capitalise -> Capitalize
* reportfor -> report for
* hearbeat -> heartbeat
* onlineness -> being online
* creater -> creator
* Bytearray -> Byte array
* Despoit -> Deposit
* substratced -> subtracted
* Curent -> Current
* imbalanes -> imbalances
* countfown -> countdown
* inexisting -> inexistent
* additionaly -> additionally
* substracted -> subtracted
* auxilary -> auxiliary
* parital -> partial
* in't -> isn't
* compatability -> compatibility
* infomation -> information
* etected -> detected
* extrinsiscs -> extrinsics
* reprensentation -> representation
* coonfiguration -> configuration
* primtives -> primitives
* miscelanious -> miscellaneous
* VERISON -> VERSION
* endcoded -> encoded
* Genrates -> Generates
* miliseconds -> milliseconds
* occured -> occurred
* trully -> truely
* truely -> truly
* conjuction -> conjunction
* encouters -> encounters
* customised -> customized
* deterministicly -> deterministically
* finalisation -> finalization
* pluggable -> plugable
* wakeup -> wake-up
* interemdiate -> intermediate
* intepreting -> interpreting
* finalzied -> finalized
* throgh -> through
* extinsic -> extrinsic
* convient -> convenient
* allocater -> allocator
* propagateable -> propagatable
* succesfuly -> successfully
* finalising -> finalizing
* publically -> publicly
* phrasee -> phrase
* substration -> substractions
* substractions -> subtractions
* neccessarily -> necessarily
* Inlucde -> Include
* unefficient -> inefficient
* thay -> they
* funtion -> function
* datastructures -> data structures
* infromation -> information
* propagatable -> propagable
* ecountered -> encountered
* recognise -> recognize
* intergration -> integration
* lastet -> latest
* datatypes -> data types
* datatype -> data type
* Strongarming -> Strong Arming
* avaible -> available
* Commiting -> Committing
* Retreiving -> Retrieving
* shoud -> should
* canonicaliziation -> canonicalization
* comitted -> committed
* clonable -> cloneable
* Uknown -> Unknown
* reponse -> response
* arbitary -> arbitrary
* Capapbilities -> Capabilities
* responsbile -> responsible
* initialisation -> initialization
* cames -> came
* intemediate -> intermediate
* reqeust -> request
* intance -> instance
* explcitly -> explicitly
* neighor -> neighbor
* reolving -> resolving
* untill -> until
* Validte -> Validate
* deserailize -> deserialize
* literaly -> literally
* preceeding -> preceding
* abpve -> above
* chcecked -> checked
* numbet -> number
* Unknow -> Unknown
* halfs -> halves
* gossup -> gossip
* givent -> given
* immediatelly -> immediately
* slicable -> sliceable
* conensus -> consensus
* Mimicks -> Mimics
* acccept -> accept
* serialise -> serialize
* exstrinsics -> extrinsics
* panicks -> panics
* maintaince -> maintenance
* repeatidely -> repeatedly
* anecstor -> ancestor
* becasue -> because
* processer -> processor
* Prunning -> Pruning
* insterested -> interested
* unuseful -> not useful
* yeided -> yielded
* descendfing -> descending
* corresponts -> corresponds
* survivew -> survive
* keps -> keeps
* ligh -> light
* prerequisities -> prerequisites
* positiion -> position
* depedency -> dependency
* extrinisic -> extrinsic
* atomicaly -> atomically
* staticly -> statically
* resul -> result
* timestamb -> timestamp
* Utilites -> Utilities
* ammount -> amount
* pocess -> process
* exteral -> external
* Update client/finality-grandpa/src/tests.rs
* Update primitives/io/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update primitives/blockchain/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/support/src/weights.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update bin/node/cli/tests/common.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/api/src/execution_extensions.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/cli/src/params.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/executor/common/src/sandbox.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/api/src/execution_extensions.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/finality-grandpa/src/communication/mod.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/state-db/src/pruning.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/contracts/src/tests.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update client/api/src/execution_extensions.rs
* bump impl
* timestamb -> timestamp
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
2020-02-17 15:07:24 +01:00
Bastian Köcher
d3fa8c91af
Adds a test to ensure that we clear the heap between calls into runtime ( #4903 )
...
* Adds a test to ensure that we clear the heap between calls into runtime
The tests shows that we currently not clearing the heap in wasmtime.
For now we don't run the test for wasmtime.
* Fix compilation
2020-02-14 01:42:27 +01:00
Sergei Pepyakin
49af986ad4
executor: Migrate wasmtime backend to a high-level API ( #4686 )
...
* Migrate wasmtime backend to wasmtime-api
* Port to a newer version of wasmtime
* Update to the latest changes.
* Rejig the sandbox module a bit
* Materialze
* Fixes.
* executor wasm_runtime fix
* Refactor everything
* More refactoring
* Even more refactorings
* More cleaning.
* Update to the latest wasmtime
* Reformat
* Renames
* Refactoring and comments.
* Docs
* Rename FunctionExecutor to host.
* Imrpove docs.
* fmt
* Remove panic
* Assert the number of arguments are equal between wasmtime and hostfunc.
* Comment a possible panic if there is no corresponding value variant.
* Check signature of the entrypoint.
* Use git version of wasmtime
* Refine and doc the sandbox code.
* Comment RefCells.
* Update wasmtime to the latest-ish master.
This may solve a problem with segfaults.
* Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
* Use full SHA1 hash of wasmtime commit.
* Add a panic message.
* Add some documentation
* Update wasmtime version to include SIGSEGV fix
* Update to crates.io version of wasmtime
* Make it work.
* Move the creation of memory into `InstanceWrapper::new`
* Make `InstanceWrapper` !Send & !Sync
* Avoid using `take_mut`
* Update client/executor/wasmtime/Cargo.toml
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Limit maximum size of memory.
* Rename `init_state` to `with_initialized_state`
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-02-13 14:54:19 +01:00