mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2024-12-25 04:57:17 +00:00
8b31944611
* First * More on SA interpreter * Fixup * Add cfg action to hack binary that invokes the SaInterpreter. Added an operation handler for PUSH1 * refactor cfg tests into separate file * Move cfg tests into separate file * More refactoring into new file * dataflow interpreter * work on cfg0 * finish cfg0 * df works on base examples * refactor into dataflow spec * add bounded stack * add harder example * fix switch pass thru * fix switch pass thru * bug fix, and better printing * manual merge * restore call to test gencfg * abstract interpretation based cfg analysis * fix post signature * use uint256 instead uint64, add post function * preprocess stmts * initial implementation of resolve * fix resolve * fix resolve * print stmts for edges * print stmts for edges * print states * print states * bug fixes, debugging * fix jumpi dest - first working impl * reachability analysis to filter out dead edges * add all transfer functions * larger contract bytecodes from solc compiler * simple solidity contract goes thru * add deposit contract bytecode * rename deposit contract test * fix new contract arg * Address non-determinism leading to imprecise results * improve debugging output * improve debugging output * improve debugging output * fix for bug causing incorrect analysis results * fix for bug causing incorrect analysis results * fix for bug causing incorrect analysis results * add more test cases * fix coverage bug * debugging for non-termination * fix bad fixpoint check * fix data inference * fix transfer function for halting stmts * switch to deposit contract test, disable debugging * add anly counter to viz, fix stmt.valid check * show all preds, adjust anlycounter behavior * dfs instead of bfs to fail earlier * viz improvements * add worklist size to viz * add test case for private functions * valueset analysis * add more checks to fail earlier in the analysis to help debugging, improve debugging output, catch additional bad jumps * delete old code * delete old code * delete old code * fix up minor changes to jump table * copy over comments from cgf-1 branch * remove minor diffs * add recompiled deposit contract * graph viz * cleanup/refactoring * initial impl of viz * script to run cfg anly and generate dot file * div example * accept bytecode from cmd line * add minimal deposit contract example * replace valueset analysis with stackset analysis * get in sync with master * sync with master * fix linting * fix linting * fix linting * reformatting * fix linting * fix linting * fix linting * fix linting * fix linting * fix linting * fix linting Co-authored-by: Alexey Akhunov <akhounov@gmail.com> |
||
---|---|---|
.. | ||
asm | ||
bloombits | ||
forkid | ||
rawdb | ||
state | ||
types | ||
vm | ||
.gitignore | ||
bench_test.go | ||
block_validator_test.go | ||
block_validator.go | ||
blockchain_insert.go | ||
blockchain_test.go | ||
blockchain.go | ||
blocks.go | ||
chain_indexer.go | ||
chain_makers_test.go | ||
chain_makers.go | ||
dao_test.go | ||
error.go | ||
eth_backend.go | ||
events.go | ||
evm.go | ||
gaspool.go | ||
gen_genesis_account.go | ||
gen_genesis.go | ||
generate_index_test.go | ||
generate_index.go | ||
genesis_alloc.go | ||
genesis_test.go | ||
genesis.go | ||
headerchain.go | ||
mkalloc.go | ||
pruner_test.go | ||
pruner.go | ||
rlp_test.go | ||
skip_analysis.go | ||
state_prefetcher.go | ||
state_processor.go | ||
state_transition.go | ||
tx_cacher.go | ||
tx_journal.go | ||
tx_list_test.go | ||
tx_list.go | ||
tx_noncer.go | ||
tx_pool_test.go | ||
tx_pool.go | ||
types.go |