go-ethereum/core
Jeffrey Wilcke 1e5725f03b core/vm: removed err checks from EVM and added snapshot to interpreter
The REVERT op codes reverts the state by returning an error from the
instruction. The instruction was checked during in the EVM. This error
would then determine whether any gas should be consumed or not. If the
error was an errRevert, no gas was further reduced and only state was
reverted.

This solution is error prone as you'll need an err check in multiple
locations and removes the no-err check requirement of the evm. This has
been solved by passing the snapshot to the interpreter and letting the
interpreter do the state reverting if the operation so requires.
2017-04-06 09:01:50 +02:00
..
asm cmd/evm, core/asm: add EVM assembler (#3686) 2017-03-01 01:11:24 +01:00
state core, params: difficulty includes uncle count - EIP#100 2017-04-06 08:59:39 +02:00
types core/types, params: account abstraction - EIP#86 2017-04-06 09:01:27 +02:00
vm core/vm: removed err checks from EVM and added snapshot to interpreter 2017-04-06 09:01:50 +02:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
block_validator.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
block_validator_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
blockchain.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
blockchain_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
blocks.go core, core/state: fixed consensus issue added touch revert 2016-11-24 22:12:54 +01:00
chain_makers.go core, params: difficulty includes uncle count - EIP#100 2017-04-06 08:59:39 +02:00
chain_makers_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
dao.go core: refactor genesis handling 2017-03-23 15:58:43 +01:00
dao_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
database_util.go all: next batch of log polishes to contextual versions 2017-02-28 15:03:20 +02:00
database_util_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
error.go Merge pull request #1889 from karalabe/fast-sync-rebase 2015-10-21 11:44:22 -07:00
events.go core/vm: move Log to core/types 2017-01-06 14:15:22 +01:00
evm.go core, core/vm: implemented a generic environment (#3348) 2016-12-06 02:16:03 +01:00
fees.go Merge pull request #1515 from fjl/license-fixes 2015-07-28 04:29:42 -07:00
filter_test.go all: fix license headers one more time 2015-07-23 18:35:11 +02:00
gaspool.go all: update license information 2016-04-15 09:48:05 +02:00
gen_genesis.go core, core/types: use non-pointer receiver for Marshal* methods 2017-03-27 13:29:01 +02:00
gen_genesis_account.go core, core/types: use non-pointer receiver for Marshal* methods 2017-03-27 13:29:01 +02:00
genesis.go core, core/types: use non-pointer receiver for Marshal* methods 2017-03-27 13:29:01 +02:00
genesis_alloc.go core: refactor genesis handling 2017-03-23 15:58:43 +01:00
genesis_test.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
headerchain.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00
helper_test.go cmd/geth, cmd/utils, core, rpc: renamed to blockchain 2015-10-04 01:13:56 +02:00
mkalloc.go core: refactor genesis handling 2017-03-23 15:58:43 +01:00
state_processor.go core, params: difficulty includes uncle count - EIP#100 2017-04-06 08:59:39 +02:00
state_transition.go all: next batch of log polishes to contextual versions 2017-02-28 15:03:20 +02:00
tx_list.go all: fix spelling errors 2017-01-06 19:44:35 +02:00
tx_list_test.go core: abstract out a sorted transaction hash map 2016-09-02 14:15:40 +03:00
tx_pool.go Merge pull request #3723 from karalabe/logger-updates-2 2017-02-28 16:55:37 +02:00
tx_pool_test.go core: refactor genesis handling 2017-03-23 15:58:43 +01:00
types.go core, consensus: pluggable consensus engines (#3817) 2017-04-05 00:16:29 +02:00