Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						fae165a5de 
					 
					
						
						
							
							core, eth, ethdb, trie: simplify range proofs  
						
						
						
						
					 
					
						2021-04-29 10:59:08 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						a81cf0d2b3 
					 
					
						
						
							
							trie: remove redundant returns + use stacktrie where applicable ( #22760 )  
						
						... 
						
						
						
						* trie: add benchmark for proofless range
* trie: remove unused returns + use stacktrie 
						
						
					 
					
						2021-04-28 22:47:48 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						49281ab84f 
					 
					
						
						
							
							core/state/snapshot, true: reuse dirty data instead of hitting disk when generating ( #22667 )  
						
						... 
						
						
						
						* core/state/snapshot: reuse memory data instead of hitting disk when generating
* trie: minor nitpicks wrt the resolver optimization
* core/state/snapshot, trie: use key/value store for resolver
* trie: fix linter
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2021-04-23 14:39:18 +03:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						d6ffa14035 
					 
					
						
						
							
							core: nuke legacy snapshot supporting ( #22663 )  
						
						
						
						
					 
					
						2021-04-20 08:27:46 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						09d44e9925 
					 
					
						
						
							
							core/state/snapshot: avoid copybytes for stacktrie  
						
						
						
						
					 
					
						2021-04-16 14:58:23 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						7088f1e814 
					 
					
						
						
							
							core, eth: faster snapshot generation ( #22504 )  
						
						... 
						
						
						
						* eth/protocols: persist received state segments
* core: initial implementation
* core/state/snapshot: add tests
* core, eth: updates
* eth/protocols/snapshot: count flat state size
* core/state: add metrics
* core/state/snapshot: skip unnecessary deletion
* core/state/snapshot: rename
* core/state/snapshot: use the global batch
* core/state/snapshot: add logs and fix wiping
* core/state/snapshot: fix
* core/state/snapshot: save generation progress even if the batch is empty
* core/state/snapshot: fixes
* core/state/snapshot: fix initial account range length
* core/state/snapshot: fix initial account range
* eth/protocols/snap: store flat states during the healing
* eth/protocols/snap: print logs
* core/state/snapshot: refactor (#4 )
* core/state/snapshot: refactor
* core/state/snapshot: tiny fix and polish
Co-authored-by: rjl493456442 <garyrong0905@gmail.com >
* core, eth: fixes
* core, eth: fix healing writer
* core, trie, eth: fix paths
* eth/protocols/snap: fix encoding
* eth, core: add debug log
* core/state/generate: release iterator asap (#5 )
core/state/snapshot: less copy
core/state/snapshot: revert split loop
core/state/snapshot: handle storage becoming empty, improve test robustness
core/state: test modified codehash
core/state/snapshot: polish
* core/state/snapshot: optimize stats counter
* core, eth: add metric
* core/state/snapshot: update comments
* core/state/snapshot: improve tests
* core/state/snapshot: replace secure trie with standard trie
* core/state/snapshot: wrap return as the struct
* core/state/snapshot: skip wiping correct states
* core/state/snapshot: updates
* core/state/snapshot: fixes
* core/state/snapshot: fix panic due to reference flaw in closure
* core/state/snapshot: fix errors in state generation logic + fix log output
* core/state/snapshot: remove an error case
* core/state/snapshot: fix condition-check for exhausted snap state
* core/state/snapshot: use stackTrie for small tries
* core/state/snapshot: don't resolve small storage tries in vain
* core/state/snapshot: properly clean up storage of deleted accounts
* core/state/snapshot: avoid RLP-encoding in some cases + minor nitpicks
* core/state/snapshot: fix error (+testcase)
* core/state/snapshot: clean up tests a bit
* core/state/snapshot: work in progress on better tests
* core/state/snapshot: polish code
* core/state/snapshot: fix trie iteration abortion trigger
* core/state/snapshot: fixes flaws
* core/state/snapshot: remove panic
* core/state/snapshot: fix abort
* core/state/snapshot: more tests (plus failing testcase)
* core/state/snapshot: more testcases + fix for failing test
* core/state/snapshot: testcase for malformed data
* core/state/snapshot: some test nitpicks
* core/state/snapshot: improvements to logging
* core/state/snapshot: testcase to demo error in abortion
* core/state/snapshot: fix abortion
* cmd/geth: make verify-state report the root
* trie: fix failing test
* core/state/snapshot: add timer metrics
* core/state/snapshot: fix metrics
* core/state/snapshot: udpate tests
* eth/protocols/snap: write snapshot account even if code or state is needed
* core/state/snapshot: fix diskmore check
* core/state/snapshot: review fixes
* core/state/snapshot: improve error message
* cmd/geth: rename 'error' to 'err' in logs
* core/state/snapshot: fix some review concerns
* core/state/snapshot, eth/protocols/snap: clear snapshot marker when starting/resuming snap sync
* core: add error log
* core/state/snapshot: use proper timers for metrics collection
* core/state/snapshot: address some review concerns
* eth/protocols/snap: improved log message
* eth/protocols/snap: fix heal logs to condense infos
* core/state/snapshot: wait for generator termination before restarting
* core/state/snapshot: revert timers to counters to track total time
Co-authored-by: Martin Holst Swende <martin@swende.se >
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2021-04-14 23:23:11 +03:00 
						 
				 
			
				
					
						
							
							
								Edgar Aroutiounian 
							
						 
					 
					
						
						
							
						
						c79fc209cd 
					 
					
						
						
							
							core/state/snapshot: fix data race in diff layer ( #22540 )  
						
						
						
						
					 
					
						2021-04-06 11:57:00 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						61ff3e86b2 
					 
					
						
						
							
							core/state/snapshot, ethdb: track deletions more accurately ( #22582 )  
						
						... 
						
						
						
						* core/state/snapshot, ethdb: track deletions more accurately
* core/state/snapshot: don't reset the iterator, leveldb's screwy
* ethdb: don't mess with the insert batches for now 
						
						
					 
					
						2021-03-30 19:04:22 +03:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						76700ac892 
					 
					
						
						
							
							core/state/pruner: move the compaction out of the pruning procedure ( #22579 )  
						
						... 
						
						
						
						The main idea behind it is: the range compaction is very expensive
which can take a few hours to finish. During this long procedure,
a lot of exceptions can occur, e.g.
- Geth is killed manually
- Geth is killed because of machine crash
- etc
In order to minimize the effect of the exceptions, the compaction
is moved out of the pruning. So that even the compaction is not
finished, the pruning is regarded as done. 
						
						
					 
					
						2021-03-29 11:09:29 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						a31f6d54df 
					 
					
						
						
							
							core/state/snapshot: fix panic on missing parent  
						
						
						
						
					 
					
						2021-03-22 22:41:28 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						0c70b83e00 
					 
					
						
						
							
							all: add read-only option to database ( #22407 )  
						
						... 
						
						
						
						* all: add read-only option to database
* all: fixes tests
* cmd/geth: migrate flags
* cmd/geth: fix the compact
* cmd/geth: fix the format
* cmd/geth: fix log
* cmd: add chain-readonly
* core: add readonly notion to freezer
* core/rawdb: add log
* core/rawdb: fix freezer close
* cmd: fix
* cmd, core: construct db
* core: update tests 
						
						
					 
					
						2021-03-22 19:06:30 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						498458b410 
					 
					
						
						
							
							core/state: fix eta calculation on pruning ( #22386 )  
						
						
						
						
					 
					
						2021-02-26 16:33:37 +01:00 
						 
				 
			
				
					
						
							
							
								lightclient 
							
						 
					 
					
						
						
							
						
						bbfb1e4008 
					 
					
						
						
							
							all: add support for EIP-2718, EIP-2930 transactions ( #21502 )  
						
						... 
						
						
						
						This adds support for EIP-2718 typed transactions as well as EIP-2930
access list transactions (tx type 1). These EIPs are scheduled for the
Berlin fork.
There very few changes to existing APIs in core/types, and several new APIs
to deal with access list transactions. In particular, there are two new
constructor functions for transactions: types.NewTx and types.SignNewTx.
Since the canonical encoding of typed transactions is not RLP-compatible,
Transaction now has new methods for encoding and decoding: MarshalBinary
and UnmarshalBinary.
The existing EIP-155 signer does not support the new transaction types.
All code dealing with transaction signatures should be updated to use the
newer EIP-2930 signer. To make this easier for future updates, we have
added new constructor functions for types.Signer: types.LatestSigner and
types.LatestSignerForChainID. 
This change also adds support for the YoloV3 testnet.
Co-authored-by: Martin Holst Swende <martin@swende.se >
Co-authored-by: Felix Lange <fjl@twurst.com >
Co-authored-by: Ryan Schneider <ryanleeschneider@gmail.com > 
						
						
					 
					
						2021-02-25 15:26:57 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						52e5c38aa5 
					 
					
						
						
							
							core/state: copy the snap when copying the state ( #22340 )  
						
						... 
						
						
						
						* core/state: copy the snap when copying the state
* core/state: deep-copy snap stuff during state Copy 
						
						
					 
					
						2021-02-18 10:05:47 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						9ec3329899 
					 
					
						
						
							
							core/state/snapshot: ensure Cap retains a min number of layers  
						
						
						
						
					 
					
						2021-02-16 15:25:20 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						74dbc20260 
					 
					
						
						
							
							core/state/pruner: fix compaction range error  
						
						
						
						
					 
					
						2021-02-08 20:31:52 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						2728672c28 
					 
					
						
						
							
							core/state/pruner: fix compaction after pruning  
						
						
						
						
					 
					
						2021-02-08 19:18:40 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						f566dd305e 
					 
					
						
						
							
							all: bloom-filter based pruning mechanism ( #21724 )  
						
						... 
						
						
						
						* cmd, core, tests: initial state pruner
core: fix db inspector
cmd/geth: add verify-state
cmd/geth: add verification tool
core/rawdb: implement flatdb
cmd, core: fix rebase
core/state: use new contract code layout
core/state/pruner: avoid deleting genesis state
cmd/geth: add helper function
core, cmd: fix extract genesis
core: minor fixes
contracts: remove useless
core/state/snapshot: plugin stacktrie
core: polish
core/state/snapshot: iterate storage concurrently
core/state/snapshot: fix iteration
core: add comments
core/state/snapshot: polish code
core/state: polish
core/state/snapshot: rebase
core/rawdb: add comments
core/rawdb: fix tests
core/rawdb: improve tests
core/state/snapshot: fix concurrent iteration
core/state: run pruning during the recovery
core, trie: implement martin's idea
core, eth: delete flatdb and polish pruner
trie: fix import
core/state/pruner: add log
core/state/pruner: fix issues
core/state/pruner: don't read back
core/state/pruner: fix contract code write
core/state/pruner: check root node presence
cmd, core: polish log
core/state: use HEAD-127 as the target
core/state/snapshot: improve tests
cmd/geth: fix verification tool
cmd/geth: use HEAD as the verification default target
all: replace the bloomfilter with martin's fork
cmd, core: polish code
core, cmd: forcibly delete state root
core/state/pruner: add hash64
core/state/pruner: fix blacklist
core/state: remove blacklist
cmd, core: delete trie clean cache before pruning
cmd, core: fix lint
cmd, core: fix rebase
core/state: fix the special case for clique networks
core/state/snapshot: remove useless code
core/state/pruner: capping the snapshot after pruning
cmd, core, eth: fixes
core/rawdb: update db inspector
cmd/geth: polish code
core/state/pruner: fsync bloom filter
cmd, core: print warning log
core/state/pruner: adjust the parameters for bloom filter
cmd, core: create the bloom filter by size
core: polish
core/state/pruner: sanitize invalid bloomfilter size
cmd: address comments
cmd/geth: address comments
cmd/geth: address comment
core/state/pruner: address comments
core/state/pruner: rename homedir to datadir
cmd, core: address comments
core/state/pruner: address comment
core/state: address comments
core, cmd, tests: address comments
core: address comments
core/state/pruner: release the iterator after each commit
core/state/pruner: improve pruner
cmd, core: adjust bloom paramters
core/state/pruner: fix lint
core/state/pruner: fix tests
core: fix rebase
core/state/pruner: remove atomic rename
core/state/pruner: address comments
all: run go mod tidy
core/state/pruner: avoid false-positive for the middle state roots
core/state/pruner: add checks for middle roots
cmd/geth: replace crit with error
* core/state/pruner: fix lint
* core: drop legacy bloom filter
* core/state/snapshot: improve pruner
* core/state/snapshot: polish concurrent logs to report ETA vs. hashes
* core/state/pruner: add progress report for pruning and compaction too
* core: fix snapshot test API
* core/state: fix some pruning logs
* core/state/pruner: support recovering from bloom flush fail
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2021-02-08 13:16:30 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Prut 
							
						 
					 
					
						
						
							
						
						ef84da8481 
					 
					
						
						
							
							all: remove unneeded parentheses ( #21921 )  
						
						... 
						
						
						
						* remove uneeded convertion type
* remove redundant type in composite literal
* omit explicit type where implicit
* remove unused redundant parenthesis
* remove redundant import alias duktape 
						
						
					 
					
						2021-02-02 11:32:44 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						14d495491d 
					 
					
						
						
							
							core/state: fix panic in state dumping ( #22225 )  
						
						
						
						
					 
					
						2021-01-26 12:15:31 +01:00 
						 
				 
			
				
					
						
							
							
								Melvin Junhee Woo 
							
						 
					 
					
						
						
							
						
						04a72260c5 
					 
					
						
						
							
							snapshot: merge loops for better performance ( #22160 )  
						
						
						
						
					 
					
						2021-01-25 14:25:55 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						ddadc3d273 
					 
					
						
						
							
							Merge pull request  #21047  from holiman/improve_updates_2  
						
						... 
						
						
						
						core: improve trie updates (part 2) 
						
						
					 
					
						2021-01-21 01:48:08 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						42f9f1f073 
					 
					
						
						
							
							core/state: convert prefetcher to concurrent per-trie loader  
						
						
						
						
					 
					
						2021-01-21 01:47:14 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						1e1865b73f 
					 
					
						
						
							
							core: implement background trie prefetcher  
						
						... 
						
						
						
						Squashed from the following commits:
core/state: lazily init snapshot storage map
core/state: fix flawed meter on storage reads
core/state: make statedb/stateobjects reuse a hasher
core/blockchain, core/state: implement new trie prefetcher
core: make trie prefetcher deliver tries to statedb
core/state: refactor trie_prefetcher, export storage tries
blockchain: re-enable the next-block-prefetcher
state: remove panics in trie prefetcher
core/state/trie_prefetcher: address some review concerns
sq 
						
						
					 
					
						2021-01-21 01:46:38 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						5e9f5ca5d3 
					 
					
						
						
							
							core/state/snapshot: write snapshot generator in batch ( #22163 )  
						
						... 
						
						
						
						* core/state/snapshot: write snapshot generator in batch
* core: refactor the tests
* core: update tests
* core: update tests 
						
						
					 
					
						2021-01-18 14:39:43 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						c4deebbf1e 
					 
					
						
						
							
							core/state/snapshot: add generation logs to storage too  
						
						
						
						
					 
					
						2021-01-15 12:26:46 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						93a89b2681 
					 
					
						
						
							
							go.mod: use github.com/holiman/bloomfilter/v2 ( #22044 )  
						
						... 
						
						
						
						* deps: use improved bloom filter implementation
* eth/handler, trie: use 4 keys for syncbloom + minor fixes
* eth/protocols, trie: revert change on syncbloom method signature 
						
						
					 
					
						2021-01-12 17:39:31 +01:00 
						 
				 
			
				
					
						
							
							
								Melvin Junhee Woo 
							
						 
					 
					
						
						
							
						
						d2e1b17f18 
					 
					
						
						
							
							snapshot, trie: fixed typos, mostly in snapshot pkg ( #22133 )  
						
						
						
						
					 
					
						2021-01-07 08:36:21 +02:00 
						 
				 
			
				
					
						
							
							
								Melvin Junhee Woo 
							
						 
					 
					
						
						
							
						
						167ff563d1 
					 
					
						
						
							
							core/state/snapshot: gethring -> gathering typo ( #22104 )  
						
						
						
						
					 
					
						2021-01-04 10:07:43 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						017831dd5b 
					 
					
						
						
							
							core, eth: split eth package, implement snap protocol ( #21482 )  
						
						... 
						
						
						
						This commit splits the eth package, separating the handling of eth and snap protocols. It also includes the capability to run snap sync (https://github.com/ethereum/devp2p/blob/master/caps/snap.md ) , but does not enable it by default. 
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de >
Co-authored-by: Martin Holst Swende <martin@swende.se > 
						
						
					 
					
						2020-12-14 10:27:15 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						b44f24e3e6 
					 
					
						
						
							
							core, trie: speed up some tests with quadratic processing flaw ( #21987 )  
						
						... 
						
						
						
						This commit fixes a flaw in two testcases, and brings down the exec-time from ~40s to ~8s for trie/TestIncompleteSync.
The checkConsistency was performed over and over again on the complete set of nodes, not just the recently added, turning it into a quadratic runtime. 
						
						
					 
					
						2020-12-10 14:48:32 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Prut 
							
						 
					 
					
						
						
							
						
						810f9e057d 
					 
					
						
						
							
							all: remove redundant conversions and import names ( #21903 )  
						
						
						
						
					 
					
						2020-11-25 21:00:23 +01:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						23524f8900 
					 
					
						
						
							
							all: disable recording preimage of trie keys ( #21402 )  
						
						... 
						
						
						
						* cmd, core, eth, light, trie: disable recording preimage by default
* core, eth: fix unit tests
* core: fix import
* all: change to nopreimage
* cmd, core, eth, trie: use cache.preimages flag
* cmd: enable preimages for archive node
* cmd/utils, trie: simplify preimage tracking a bit
* core: fix linter
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2020-11-18 11:51:33 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						7b7b327ff2 
					 
					
						
						
							
							core/state/snapshot: update generator marker in sync with flushes  
						
						
						
						
					 
					
						2020-11-09 16:03:58 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						e6402677c2 
					 
					
						
						
							
							core/state/snapshot: fix journal recovery from generating old journal ( #21775 )  
						
						... 
						
						
						
						* core/state/snapshot: print warning if failed to resolve journal
* core/state/snapshot: fix snapshot recovery
When we meet the snapshot journal consisted with:
- disk layer generator with new-format
- diff layer journal with old-format
The base layer should be returned without error.
The broken diff layer can be reconstructed later
but we definitely don't want to reconstruct the
huge diff layer.
* core: add tests 
						
						
					 
					
						2020-11-04 13:41:46 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						b63e3c37a6 
					 
					
						
						
							
							core: improve snapshot journal recovery ( #21594 )  
						
						... 
						
						
						
						* core/state/snapshot: introduce snapshot journal version
* core: update the disk layer in an atomic way
* core: persist the disk layer generator periodically
* core/state/snapshot: improve logging
* core/state/snapshot: forcibly ensure the legacy snapshot is matched
* core/state/snapshot: add debug logs
* core, tests: fix tests and special recovery case
* core: polish
* core: add more blockchain tests for snapshot recovery
* core/state: fix comment
* core: add recovery flag for snapshot
* core: add restart after start-after-crash tests
* core/rawdb: fix imports
* core: fix tests
* core: remove log
* core/state/snapshot: fix snapshot
* core: avoid callbacks in SetHead
* core: fix setHead cornercase where the threshold root has state
* core: small docs for the test cases
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2020-10-29 21:01:58 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						43c278cdf9 
					 
					
						
						
							
							core/state: disable snapshot iteration if it's not fully constructed ( #21682 )  
						
						... 
						
						
						
						* core/state/snapshot: add diskRoot function
* core/state/snapshot: disable iteration if the snapshot is generating
* core/state/snapshot: simplify the function
* core/state: panic for undefined layer 
						
						
					 
					
						2020-10-28 14:27:37 +02:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						18145adf08 
					 
					
						
						
							
							core/state: maintain one more diff layer ( #21730 )  
						
						... 
						
						
						
						* core/state: maintain one more diff layer
* core/state: address comment 
						
						
					 
					
						2020-10-28 14:00:22 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						6487c002f6 
					 
					
						
						
							
							all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 ( #21509 )  
						
						... 
						
						
						
						* core/vm, core/state: implement EIP-2929 + YOLOv2
* core/state, core/vm: fix some review concerns
* core/state, core/vm: address review concerns
* core/vm: address review concerns
* core/vm: better documentation
* core/vm: unify sload cost as fully dynamic
* core/vm: fix typo
* core/vm/runtime: fix compilation flaw
* core/vm/runtime: fix renaming-err leftovers
* core/vm: renaming
* params/config: use correct yolov2 chainid for config
* core, params: use a proper new genesis for yolov2
* core/state/tests: golinter nitpicks 
						
						
					 
					
						2020-10-23 08:26:57 +02:00 
						 
				 
			
				
					
						
							
							
								mr_franklin 
							
						 
					 
					
						
						
							
						
						66c3eb2f1a 
					 
					
						
						
							
							accouts, consensus, core: fix some comments ( #21617 )  
						
						
						
						
					 
					
						2020-10-12 15:02:38 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						a15d71a255 
					 
					
						
						
							
							core/state/snapshot: stop generator if it hits missing trie nodes ( #21649 )  
						
						... 
						
						
						
						* core/state/snapshot: exit Geth if generator hits missing trie nodes
* core/state/snapshot: error instead of hard die on generator fault
* core/state/snapshot: don't enable logging on the tests 
						
						
					 
					
						2020-10-05 11:52:36 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						eeaf191633 
					 
					
						
						
							
							core, eth, trie: prepare trie sync for path based operation  
						
						
						
						
					 
					
						2020-09-02 13:21:32 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						d8da0b3d81 
					 
					
						
						
							
							core/state, eth, trie: stabilize memory use, fix memory leak  
						
						
						
						
					 
					
						2020-08-26 13:05:06 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						3ee91b9f2e 
					 
					
						
						
							
							core/state/snapshot: reduce disk layer depth during generation  
						
						
						
						
					 
					
						2020-08-24 13:22:36 +03:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						87c0ba9213 
					 
					
						
						
							
							core, eth, les, trie: add a prefix to contract code ( #21080 )  
						
						
						
						
					 
					
						2020-08-21 15:10:40 +03:00 
						 
				 
			
				
					
						
							
							
								Giuseppe Bertone 
							
						 
					 
					
						
						
							
						
						2ff464b29d 
					 
					
						
						
							
							core/state: fixed some comments ( #21450 )  
						
						
						
						
					 
					
						2020-08-19 09:54:21 +03:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						93da0cf8a1 
					 
					
						
						
							
							cmd, core, eth, light, trie: dump clean cache periodically ( #20391 )  
						
						... 
						
						
						
						* cmd, core, eth, light, trie: dump clean cache periodically
* eth: update config
* trie: minor fix
* core, trie: address comments
* eth: remove useless
* trie: print clean cache dump start too
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2020-07-28 16:30:31 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						295693759e 
					 
					
						
						
							
							core/vm: less allocations for various call variants  ( #21222 )  
						
						... 
						
						
						
						* core/vm/runtime/tests: add more benchmarks
* core/vm: initial work on improving alloc count for calls to precompiles
name                                  old time/op    new time/op    delta
SimpleLoop/identity-precompile-10M-6     117ms ±75%      43ms ± 1%  -63.09%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   79.6ms ± 4%    70.5ms ± 1%  -11.42%  (p=0.008 n=5+5)
name                                  old alloc/op   new alloc/op   delta
SimpleLoop/identity-precompile-10M-6    24.4MB ± 0%     4.9MB ± 0%  -79.94%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   13.2kB ± 0%    13.2kB ± 0%     ~     (p=0.357 n=5+5)
name                                  old allocs/op  new allocs/op  delta
SimpleLoop/identity-precompile-10M-6      382k ± 0%      153k ± 0%  -59.99%  (p=0.000 n=5+4)
SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
* core/vm: don't allocate big.int for touch
name                                  old time/op    new time/op    delta
SimpleLoop/identity-precompile-10M-6    43.3ms ± 1%    42.4ms ± 7%     ~     (p=0.151 n=5+5)
SimpleLoop/loop-10M-6                   70.5ms ± 1%    76.7ms ± 1%   +8.67%  (p=0.008 n=5+5)
name                                  old alloc/op   new alloc/op   delta
SimpleLoop/identity-precompile-10M-6    4.90MB ± 0%    2.46MB ± 0%  -49.83%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   13.2kB ± 0%    13.2kB ± 1%     ~     (p=0.571 n=5+5)
name                                  old allocs/op  new allocs/op  delta
SimpleLoop/identity-precompile-10M-6      153k ± 0%       76k ± 0%  -49.98%  (p=0.029 n=4+4)
SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
* core/vm: reduce allocs in staticcall
name                                  old time/op    new time/op    delta
SimpleLoop/identity-precompile-10M-6    42.4ms ± 7%    37.5ms ± 6%  -11.68%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   76.7ms ± 1%    69.1ms ± 1%   -9.82%  (p=0.008 n=5+5)
name                                  old alloc/op   new alloc/op   delta
SimpleLoop/identity-precompile-10M-6    2.46MB ± 0%    0.02MB ± 0%  -99.35%  (p=0.008 n=5+5)
SimpleLoop/loop-10M-6                   13.2kB ± 1%    13.2kB ± 0%     ~     (p=0.143 n=5+5)
name                                  old allocs/op  new allocs/op  delta
SimpleLoop/identity-precompile-10M-6     76.4k ± 0%      0.1k ± 0%     ~     (p=0.079 n=4+5)
SimpleLoop/loop-10M-6                     40.0 ± 0%      40.0 ± 0%     ~     (all equal)
* trie: better use of hasher keccakState
* core/state/statedb: reduce allocations in getDeletedStateObject
* core/vm: reduce allocations in all call derivates
* core/vm: reduce allocations in call variants
- Make returnstack `uint32`
- Use a `sync.Pool` of `stack`s
* core/vm: fix tests
* core/vm: goimports
* core/vm: tracer fix + staticcall gas fix
* core/vm: add back snapshot to staticcall
* core/vm: review concerns + make returnstack pooled + enable returndata in traces
* core/vm: fix some test tracer method signatures
* core/vm: run gencodec, minor comment polish
Co-authored-by: Péter Szilágyi <peterke@gmail.com > 
						
						
					 
					
						2020-07-16 15:06:19 +03:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						6eef141aef 
					 
					
						
						
							
							les: historical data garbage collection ( #19570 )  
						
						... 
						
						
						
						This change introduces garbage collection for the light client. Historical
chain data is deleted periodically. If you want to disable the GC, use
the --light.nopruning flag. 
						
						
					 
					
						2020-07-13 11:02:54 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						e376d2fb31 
					 
					
						
						
							
							cmd/evm: add state transition tool for testing ( #20958 )  
						
						... 
						
						
						
						This PR implements the EVM state transition tool, which is intended
to be the replacement for our retesteth client implementation.
Documentation is present in the cmd/evm/README.md file.
Co-authored-by: Felix Lange <fjl@twurst.com > 
						
						
					 
					
						2020-06-30 10:12:51 +02:00