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 
						 
				 
			
				
					
						
							
							
								rene 
							
						 
					 
					
						
						
							
						
						5b081ab214 
					 
					
						
						
							
							cmd/clef: change --rpcport to --http.port and update flags in docs ( #21318 )  
						
						
						
						
					 
					
						2020-07-14 10:35:32 +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 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						65cd28aa0e 
					 
					
						
						
							
							tests: cleanup snapshot generator goroutine leak  
						
						
						
						
					 
					
						2020-05-04 12:10:02 +03:00 
						 
				 
			
				
					
						
							
							
								Paweł Bylica 
							
						 
					 
					
						
						
							
						
						d56dc038d2 
					 
					
						
						
							
							cmd/evm: Rework execution stats ( #20792 )  
						
						... 
						
						
						
						- Dump stats also for --bench flag.
- From memory stats only show number and size of allocations. This is what `test -bench` shows. I doubt others like number of GC runs are any useful, but can be added if requested.
- Now the mem stats are for single execution in case of --bench. 
						
						
					 
					
						2020-04-01 12:40:07 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						6e05ccd845 
					 
					
						
						
							
							core/state/snapshot, tests: sync snap gen + snaps in consensus tests  
						
						
						
						
					 
					
						2020-03-03 09:17:13 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						542df8898e 
					 
					
						
						
							
							core: initial version of state snapshots  
						
						
						
						
					 
					
						2020-02-25 12:51:04 +02:00 
						 
				 
			
				
					
						
							
							
								Guillaume Ballet 
							
						 
					 
					
						
						
							
						
						60deeb103e 
					 
					
						
						
							
							cmd/evm: accept --input for disasm command ( #20548 )  
						
						
						
						
					 
					
						2020-01-27 10:05:21 +01:00 
						 
				 
			
				
					
						
							
							
								Paweł Bylica 
							
						 
					 
					
						
						
							
						
						49cf000df7 
					 
					
						
						
							
							cmd/evm: Add --bench flag for benchmarking ( #20330 )  
						
						... 
						
						
						
						The --bench flag uses the testing.B to execute the EVM bytecode many times and get the average exeuction time out of it. 
						
						
					 
					
						2019-12-18 09:43:18 +01:00 
						 
				 
			
				
					
						
							
							
								zaccoding 
							
						 
					 
					
						
						
							
						
						23c8c74131 
					 
					
						
						
							
							cmd: fix command help messages in modules ( #20203 )  
						
						
						
						
					 
					
						2019-11-26 11:46:39 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Forney 
							
						 
					 
					
						
						
							
						
						9e71f55bfa 
					 
					
						
						
							
							cmd/evm: Allow loading input from file ( #20273 )  
						
						... 
						
						
						
						Make it possible to load input from a file. Simlar to `--code` / `--codefile`, have `--input`/`--inputfile`. 
						
						
					 
					
						2019-11-17 15:45:54 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Forney 
							
						 
					 
					
						
						
							
						
						9c81387bef 
					 
					
						
						
							
							cmd/evm: remove surrounding whitespace in hex input code ( #20211 )  
						
						... 
						
						
						
						This way, the output of `evm compile` can be used directly in `evm
--codefile code.txt run`, without stripping the trailing newline first. 
						
						
					 
					
						2019-10-28 14:55:20 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						16f0fb70f1 
					 
					
						
						
							
							cmd/evm: make evm default to all ethash protocol changes  
						
						
						
						
					 
					
						2019-09-13 22:32:20 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						2ca89ea479 
					 
					
						
						
							
							cmd/evm: evm input minor fixes ( #19740 )  
						
						... 
						
						
						
						* cmd/evm: evm input minor fixes, handle prefix, validate length, fixes  #18041 
* cmd/evm: remove whitespace 
						
						
					 
					
						2019-06-25 11:03:04 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						1da5e0ebb0 
					 
					
						
						
							
							core/state, cmd/geth: streaming json output for dump command ( #15475 )  
						
						... 
						
						
						
						* core/state, cmd/geth: streaming json output dump cmd + optional code+storage
* dump: add option to continue even if preimages are missing
* core, evm: lint nits
* cmd: use local flags for dump, omit empty code/storage
* core/state: fix state dump test 
						
						
					 
					
						2019-06-24 17:16:44 +03:00 
						 
				 
			
				
					
						
							
							
								C. Brown 
							
						 
					 
					
						
						
							
						
						be4d74f8d2 
					 
					
						
						
							
							cmd, internal/build, docker: advertise commit date in unstable build versions ( #19522 )  
						
						... 
						
						
						
						* add-date-to unstable
* fields-insteadof-split
* internal/build: support building with missing git
* docker: add git history back to support commit date in version
* internal/build: use PR commits hashes for PR builds 
						
						
					 
					
						2019-05-08 16:44:28 +03:00 
						 
				 
			
				
					
						
							
							
								Corey Lin 
							
						 
					 
					
						
						
							
						
						768b4c2e6b 
					 
					
						
						
							
							asm: remove unused parameter for function Lex ( #18058 )  
						
						
						
						
					 
					
						2019-03-14 10:35:55 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						054412e335 
					 
					
						
						
							
							all: clean up and proerly abstract database access  
						
						
						
						
					 
					
						2019-03-06 13:35:03 +02:00 
						 
				 
			
				
					
						
							
							
								Paweł Bylica 
							
						 
					 
					
						
						
							
						
						d37f987639 
					 
					
						
						
							
							cmd/evm: Add --vm.evm flag to support EVMC ( #18457 )  
						
						
						
						
					 
					
						2019-01-16 11:43:41 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						42a914a84f 
					 
					
						
						
							
							cmd/evm, core/vm, eth: implement api methods to do stdjson dump to local filesystem  
						
						
						
						
					 
					
						2018-12-10 12:33:50 +02:00 
						 
				 
			
				
					
						
							
							
								Matthew Di Ferrante 
							
						 
					 
					
						
						
							
						
						3d21d455dc 
					 
					
						
						
							
							cmd/evm: commit statedb if dump is requested ( #18208 )  
						
						... 
						
						
						
						Add a call `statedb.Commit(true)` if the `Dump` flag is on, as otherwise the `storage` output in the dump is always empty. 
						
						
					 
					
						2018-11-29 09:29:12 +01:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						4c0883e20d 
					 
					
						
						
							
							core/vm: adds refund as part of the json standard trace ( #17910 )  
						
						... 
						
						
						
						This adds the global accumulated refund counter to the standard
json output as a numeric json value. Previously this was not very
interesting since it was not used much, but with the new sstore
gas changes the value is a lot more interesting from a consensus
investigation perspective. 
						
						
					 
					
						2018-10-23 16:28:18 +02:00 
						 
				 
			
				
					
						
							
							
								cdetrio 
							
						 
					 
					
						
						
							
						
						bfa0f96822 
					 
					
						
						
							
							cmd/evm: fix state dump ( #17832 )  
						
						
						
						
					 
					
						2018-10-04 10:22:41 +02:00 
						 
				 
			
				
					
						
							
							
								Kevin 
							
						 
					 
					
						
						
							
						
						3fec73500b 
					 
					
						
						
							
							cmd/evm: EVM prestate initialization ( #17685 )  
						
						... 
						
						
						
						* Bugfix #17216 : evm loads prestate file properly now
* code gofmted 
						
						
					 
					
						2018-09-20 08:24:53 +02:00 
						 
				 
			
				
					
						
							
							
								Emil 
							
						 
					 
					
						
						
							
						
						86a03f97d3 
					 
					
						
						
							
							all: simplify s[:] to s where s is a slice ( #17673 )  
						
						
						
						
					 
					
						2018-09-14 22:07:13 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						83e2761c3a 
					 
					
						
						
							
							Revert "cmd/evm: change error msg output to stderr ( #17118 )"  
						
						... 
						
						
						
						This reverts commit fb9f7261ec 
						
						
					 
					
						2018-08-01 19:09:08 +03:00 
						 
				 
			
				
					
						
							
							
								Chen Quan 
							
						 
					 
					
						
						
							
						
						fb9f7261ec 
					 
					
						
						
							
							cmd/evm: change error msg output to stderr ( #17118 )  
						
						... 
						
						
						
						* cmd/evm: change error msg output to stderr
* cmd/evm: fix some linter error 
						
						
					 
					
						2018-07-31 10:48:27 +03:00 
						 
				 
			
				
					
						
							
							
								gary rong 
							
						 
					 
					
						
						
							
						
						7beccb29be 
					 
					
						
						
							
							all: get rid of error when creating memory database ( #16716 )  
						
						... 
						
						
						
						* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition 
						
						
					 
					
						2018-05-09 15:24:25 +03:00 
						 
				 
			
				
					
						
							
							
								kiel barry 
							
						 
					 
					
						
						
							
						
						4ea493e7eb 
					 
					
						
						
							
							cmd: various golint fixes ( #16700 )  
						
						... 
						
						
						
						* cmd: various golint fixes
* cmd: update to pr change request
* cmd: update to pr change request 
						
						
					 
					
						2018-05-09 10:38:03 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						8dfa4f46a9 
					 
					
						
						
							
							evm/main: use blocknumber from genesis  
						
						
						
						
					 
					
						2018-05-02 10:17:00 +02:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						c7ab3e5544 
					 
					
						
						
							
							common: delete StringToAddress, StringToHash ( #16436 )  
						
						... 
						
						
						
						* common: delete StringToAddress, StringToHash
These functions are confusing because they don't parse hex, but use the
bytes of the string. This change removes them, replacing all uses of
StringToAddress(s) by BytesToAddress([]byte(s)).
* eth/filters: remove incorrect use of common.BytesToAddress 
						
						
					 
					
						2018-04-10 14:12:07 +03:00 
						 
				 
			
				
					
						
							
							
								dm4 
							
						 
					 
					
						
						
							
						
						3ebcf92b42 
					 
					
						
						
							
							cmd/evm: print vm output when debug flag is on ( #16326 )  
						
						
						
						
					 
					
						2018-04-06 12:43:36 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						b7e57ca1d0 
					 
					
						
						
							
							cmd/evm, core/vm, internal/ethapi: don't disable call gas metering  
						
						
						
						
					 
					
						2018-03-05 14:01:13 +02:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						a5c0bbb4f4 
					 
					
						
						
							
							all: update license information ( #16089 )  
						
						
						
						
					 
					
						2018-02-14 13:49:11 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						55599ee95d 
					 
					
						
						
							
							core, trie: intermediate mempool between trie and database ( #15857 )  
						
						... 
						
						
						
						This commit reduces database I/O by not writing every state trie to disk. 
						
						
					 
					
						2018-02-05 17:40:32 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5258785c81 
					 
					
						
						
							
							cmd, core, eth/tracers: support fancier js tracing ( #15516 )  
						
						... 
						
						
						
						* cmd, core, eth/tracers: support fancier js tracing
* eth, internal/web3ext: rework trace API, concurrency, chain tracing
* eth/tracers: add three more JavaScript tracers
* eth/tracers, vendor: swap ottovm to duktape for tracing
* core, eth, internal: finalize call tracer and needed extras
* eth, tests: prestate tracer, call test suite, rewinding
* vendor: fix windows builds for tracer js engine
* vendor: temporary duktape fix
* eth/tracers: fix up 4byte and evmdis tracer
* vendor: pull in latest duktape with my upstream fixes
* eth: fix some review comments
* eth: rename rewind to reexec to make it more obvious
* core/vm: terminate tracing using defers 
						
						
					 
					
						2017-12-21 13:56:11 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						0900aae412 
					 
					
						
						
							
							cmd/evm: print stateroot in evm utility ( #15341 )  
						
						
						
						
					 
					
						2017-10-20 13:22:06 +03:00 
						 
				 
			
				
					
						
							
							
								cdetrio 
							
						 
					 
					
						
						
							
						
						673007d7ae 
					 
					
						
						
							
							core/vm: standard vm traces ( #15035 )  
						
						
						
						
					 
					
						2017-09-22 10:22:56 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						8cab3ab435 
					 
					
						
						
							
							cmd/evm: adds ability to run individual state test file ( #14998 )  
						
						... 
						
						
						
						* cmd/evm: adds ability to run individual state test file
* cmd/evm: Fix statetest runner to be more json friendly
* cmd/evm, tests: minor polishes, dump state on fail 
						
						
					 
					
						2017-09-05 12:24:26 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						286ec5df40 
					 
					
						
						
							
							cmd/evm, core/vm, internal/ethapi: Show error when exiting ( #14985 )  
						
						... 
						
						
						
						* cmd/evm, core/vm, internal/ethapi: Add 'err' to tracer interface CaptureEnd
* cmd/evm: fix nullpointer when there is no error 
						
						
					 
					
						2017-08-23 14:37:18 +03:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						3040243042 
					 
					
						
						
							
							cmd/evm: add --receiver, support code from stdin ( #14873 )  
						
						
						
						
					 
					
						2017-08-15 11:31:36 +02:00 
						 
				 
			
				
					
						
							
							
								Egon Elbre 
							
						 
					 
					
						
						
							
						
						85454e7678 
					 
					
						
						
							
							cmd: fix megacheck warnings ( #14912 )  
						
						... 
						
						
						
						* cmd: fix megacheck warnings
* cmd: revert time.Until changes, keep readFloat 
						
						
					 
					
						2017-08-07 14:34:21 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						9e5f03b6c4 
					 
					
						
						
							
							core/state: access trie through Database interface, track errors ( #14589 )  
						
						... 
						
						
						
						With this commit, core/state's access to the underlying key/value database is
mediated through an interface. Database errors are tracked in StateDB and
returned by CommitTo or the new Error method.
Motivation for this change: We can remove the light client's duplicated copy of
core/state. The light client now supports node iteration, so tracing and storage
enumeration can work with the light client (not implemented in this commit). 
						
						
					 
					
						2017-06-27 15:57:06 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						9a44e1035e 
					 
					
						
						
							
							cmd/evm, core/vm: add --nomemory, --nostack to evm ( #14617 )  
						
						
						
						
					 
					
						2017-06-21 14:52:31 +02:00 
						 
				 
			
				
					
						
							
							
								Martin Holst Swende 
							
						 
					 
					
						
						
							
						
						80f7c6c299 
					 
					
						
						
							
							cmd/evm: add --prestate, --sender, --json flags for fuzzing ( #14476 )  
						
						
						
						
					 
					
						2017-06-07 17:09:08 +02:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						3ee75bec9f 
					 
					
						
						
							
							cmd/evm: added mem/cpu profiling  
						
						
						
						
					 
					
						2017-05-23 10:17:55 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						09777952ee 
					 
					
						
						
							
							core, consensus: pluggable consensus engines ( #3817 )  
						
						... 
						
						
						
						This commit adds pluggable consensus engines to go-ethereum. In short, it
introduces a generic consensus interface, and refactors the entire codebase to
use this interface. 
						
						
					 
					
						2017-04-05 00:16:29 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						82e7c1d124 
					 
					
						
						
							
							Merge pull request  #3728  from obscuren/format-trace  
						
						... 
						
						
						
						core/evm, core/vm: improved evm trace output 
						
						
					 
					
						2017-03-02 13:01:01 +02:00 
						 
				 
			
				
					
						
							
							
								Valentin Wüstholz 
							
						 
					 
					
						
						
							
						
						c52ab932e6 
					 
					
						
						
							
							cmd/disasm, cmd/evm: integrate disasm tool into evm tool. ( #3729 )  
						
						
						
						
					 
					
						2017-03-01 13:34:50 +01:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						f30733c806 
					 
					
						
						
							
							cmd/evm: removed -sysstat and moved content to -debug flag  
						
						... 
						
						
						
						Added the ability to directly compile and run ethereum assembly using
the evm utility: `evm run <file>`. This is equivalant to `evm compile
<file> | evm run`. 
						
						
					 
					
						2017-03-01 11:52:57 +01:00