go-ethereum/core/vm
Felix Lange 46a527d014 [release/1.4.16] core/state: implement reverts by journaling all changes
This commit replaces the deep-copy based state revert mechanism with a
linear complexity journal. This commit also hides several internal
StateDB methods to limit the number of ways in which calling code can
use the journal incorrectly.

As usual consultation and bug fixes to the initial implementation were
provided by @karalabe, @obscuren and @Arachnid. Thank you!

(cherry picked from commit 1f1ea18b54)
2016-10-06 16:25:17 +02:00
..
runtime [release/1.4.16] core/state: implement reverts by journaling all changes 2016-10-06 16:25:17 +02:00
analysis.go all: fix license headers one more time 2015-07-23 18:35:11 +02:00
asm.go all: fix go vet warnings 2016-04-15 11:17:27 +02:00
common.go core: Added EVM configuration options 2016-03-23 23:02:42 +01:00
contract.go [release/1.4.15] cmd, core, internal, light, tests: avoid hashing the code in the VM 2016-10-03 11:24:04 +03:00
contracts.go [release/1.4.11] core/vm: hide ecrecover error message 2016-08-18 15:01:23 +02:00
disasm.go all: fix license headers one more time 2015-07-23 18:35:11 +02:00
doc.go all: update license information 2016-04-15 09:48:05 +02:00
environment.go [release/1.4.16] core/state: implement reverts by journaling all changes 2016-10-06 16:25:17 +02:00
errors.go parmas, crypto, core, core/vm: homestead consensus protocol changes 2016-02-18 10:08:11 +01:00
gas.go parmas, crypto, core, core/vm: homestead consensus protocol changes 2016-02-18 10:08:11 +01:00
instructions.go [release/1.4.13] core/state: track all accounts in canon state 2016-09-26 10:31:18 +02:00
jit.go all: update license information 2016-04-15 09:48:05 +02:00
jit_optimiser.go all: update license information 2016-04-15 09:48:05 +02:00
jit_test.go [release/1.4.16] core/state: implement reverts by journaling all changes 2016-10-06 16:25:17 +02:00
jit_util.go all: update license information 2016-04-15 09:48:05 +02:00
jit_util_test.go all: fix go vet warnings 2016-04-15 11:17:27 +02:00
jump_table.go all: update license information 2016-04-15 09:48:05 +02:00
jump_table_test.go all: update license information 2016-04-15 09:48:05 +02:00
log.go rpc: new RPC implementation with pub/sub support 2015-12-14 16:34:05 +01:00
logger.go core: added basic chain configuration 2016-04-01 01:01:10 +02:00
logger_test.go [release/1.4.15] cmd, core, internal, light, tests: avoid hashing the code in the VM 2016-10-03 11:24:04 +03:00
memory.go cmd/geth, cmd/utils, core, rpc: renamed to blockchain 2015-10-04 01:13:56 +02:00
opcodes.go core, core/vm, crypto: fixes for homestead 2016-02-18 10:11:48 +01:00
segments.go all: update license information 2016-04-15 09:48:05 +02:00
stack.go core/vm: added JIT segmenting / optimisations 2015-10-16 22:30:42 +02:00
util_test.go all: update license information 2016-04-15 09:48:05 +02:00
virtual_machine.go core: Added EVM configuration options 2016-03-23 23:02:42 +01:00
vm.go [release/1.4.15] cmd, core, internal, light, tests: avoid hashing the code in the VM 2016-10-03 11:24:04 +03:00
vm_jit.go core: various typos 2016-03-15 11:08:18 -07:00
vm_jit_fake.go core: added basic chain configuration 2016-04-01 01:01:10 +02:00