* fix misprints in doc comments
* added global gas tracker variable and local gas fn
* all exported functions of the module to accept a new param and to set the gas_left global to its value at their very start
* make module support both gas metering methods
* tests fixed for the old metering method
* better naming
* MutableGlobal metering method implemented, tests for the old method pass
* gas_metering::tests updated and pass
* all tests udpdated and pass
* emacs backup files to .gitignore
* docs updated
* clippy fix
* iff = if and only if
* more clippy
* docs misprints fixes
* refactored to have Backend trait and two implementations in separate sub-modules
* docs updated
* fixed old benches (updating them is coming next)
* added bench for an instrumented wasm-coremark
* updated benches: added them for both gas_metering instrumentations
* benches contest first ver
* added debug prints to the bench
* refactored to better fit frontend-backend pattern
* docs update
* updated benches
* design updated on feedback
* re-structured sub-modules
re-structured sub-modules & updated docs
* docs improved
* addressed latest feedback comments
* re-writed the local gas function
* coremark benches show ~20% performance improvement
* fix ci: test + clippy
* save before re-factoring prepare_in_wasm()
* bare_call_16 shows 16% worse perf
* + fibonacci recursive bench
* refactored benchmarks
* + factorial recursive bench
* benches on wasmi fixtures show no perf improvement, coremark runs ~20% faster being instrumented with mutable_global gas metering
* charge gas for local gas func isntructions execution
* replaced benchmark which requires multi_value feature
* save: optimized gas func a bit (benches work, fixture tests fail)
* 1033% overhead on many_blocks.wasm when mut_global gas_metering together with stack_height
* size overhead test for both gas metering methods + stack limiter
* added more benches
* improved print_size_overhead test
* test for comparing size overheads of two gas_metering injectors
* before optimization: benches + size overhead
* optimization try-1: inline part of gas func instructions: +benches +size overheads
* optimization try-2: inline hot path of gas fn: +benches +size overheads
* opt try-3: count for gas fn cost on the caller side: +benches +size overhead
* revert to initial version but with static gas fn cost on the caller side: +benches +sizes
* tests fixed
* use newest wasmi 0.20: +benches +docs updated
* use if-else block instead of Return: +benches
* fix tests
* clippy fix
* addressed review comments
* Update changelog
Co-authored-by: Alexander Theißen <alex.theissen@me.com>