Official Go implementation of the Ethereum protocol
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jeffrey Wilcke
bbc4ea4ae8
core/vm: improved EVM run loop & instruction calling ( #3378 )
...
The run loop, which previously contained custom opcode executes have been
removed and has been simplified to a few checks.
Each operation consists of 4 elements: execution function, gas cost function,
stack validation function and memory size function. The execution function
implements the operation's runtime behaviour, the gas cost function implements
the operation gas costs function and greatly depends on the memory and stack,
the stack validation function validates the stack and makes sure that enough
items can be popped off and pushed on and the memory size function calculates
the memory required for the operation and returns it.
This commit also allows the EVM to go unmetered. This is helpful for offline
operations such as contract calls.
8 years ago
..
runtime
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
analysis.go
all: fix license headers one more time
9 years ago
asm.go
all: fix go vet warnings
9 years ago
common.go
core: Added EVM configuration options
9 years ago
contract.go
core, core/vm: implemented a generic environment ( #3348 )
8 years ago
contracts.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
disasm.go
all: fix license headers one more time
9 years ago
doc.go
all: update license information
9 years ago
environment.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
errors.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
gas.go
core, core/vm: added gas price variance table
8 years ago
gas_table.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
instructions.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
interface.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
jump_table.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
log.go
core, core/vm, eth/filters: move Removed field into vm.Log
8 years ago
log_test.go
core, core/vm, eth/filters: move Removed field into vm.Log
8 years ago
logger.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
logger_test.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
memory.go
cmd/geth, cmd/utils, core, rpc: renamed to blockchain
9 years ago
memory_table.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
noop.go
core, core/vm: implemented a generic environment ( #3348 )
8 years ago
opcodes.go
core/vm: fix GASPRICE string ( resolves #2553 )
8 years ago
stack.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
stack_table.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
virtual_machine.go
core: Added EVM configuration options
9 years ago
vm.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
vm_jit.go
core/vm: improved EVM run loop & instruction calling ( #3378 )
8 years ago
vm_jit_fake.go
core, core/vm: implemented a generic environment ( #3348 )
8 years ago