go-ethereum/core/vm
Felix Lange be12392fba core/vm: track 63/64 call gas off stack (#15563)
* core/vm: track 63/64 call gas off stack

Gas calculations in gasCall* relayed the available gas for calls by
replacing it on the stack. This lead to inconsistent traces, which we
papered over by copying the pre-execution stack in trace mode.

This change relays available gas using a temporary variable, off the
stack, and allows removing the weird copy.

* core/vm: remove stackCopy

* core/vm: pop call gas into pool

* core/vm: to -> addr
2017-11-28 21:05:49 +02:00
..
runtime core/vm/runtime: remove unused state parameter to NewEnv (#14953) 2017-08-11 14:29:32 +03:00
analysis_test.go core/vm: copyright header on test-file 2017-11-13 22:04:53 +01:00
analysis.go core/vm: improve bitvec comments 2017-09-10 21:04:36 +02:00
common.go core/vm: optimize copy-less data retrievals 2017-08-14 17:08:49 +03:00
contract.go core, core/state, core/vm: remove exported account getters (#3618) 2017-02-22 23:29:59 +01:00
contracts_test.go consensus, core, params: rebrand Metro to Byzantium 2017-09-14 10:10:46 +03:00
contracts.go consensus, core, params: rebrand Metro to Byzantium 2017-09-14 10:10:46 +03:00
doc.go all: update license information 2016-04-15 09:48:05 +02:00
errors.go core, tests: implement Metropolis EIP 684 2017-08-25 13:00:27 +03:00
evm.go core/vm: track 63/64 call gas off stack (#15563) 2017-11-28 21:05:49 +02:00
gas_table_test.go core/vm : fix testcase for gas calculation 2017-06-28 10:47:07 +02:00
gas_table.go core/vm: track 63/64 call gas off stack (#15563) 2017-11-28 21:05:49 +02:00
gas.go params: core, core/vm, miner: 64bit gas instructions 2017-02-13 21:44:25 +01:00
gen_structlog.go cmd/evm, core/vm: add --nomemory, --nostack to evm (#14617) 2017-06-21 14:52:31 +02:00
instructions_test.go core/vm: benchmarking of metro precompiles 2017-08-14 15:37:09 +03:00
instructions.go core/vm: track 63/64 call gas off stack (#15563) 2017-11-28 21:05:49 +02:00
int_pool_verifier_empty.go all: update license information 2017-04-14 10:29:00 +02:00
int_pool_verifier.go all: update license information 2017-04-14 10:29:00 +02:00
interface.go all: update license information 2017-04-14 10:29:00 +02:00
interpreter.go core/vm: track 63/64 call gas off stack (#15563) 2017-11-28 21:05:49 +02:00
intpool.go core/vm: capped int pool 2017-05-23 10:40:09 +02:00
jump_table.go core/vm: fix typos in jump_table.go 2017-11-14 17:57:37 +08:00
logger_test.go core/vm, internal/ethapi: tracer no full storage, nicer json output (#15499) 2017-11-16 18:53:18 +02:00
logger.go core/vm, internal/ethapi: tracer no full storage, nicer json output (#15499) 2017-11-16 18:53:18 +02:00
memory_table.go core/vm: rework reversion to work on a higher level 2017-08-17 16:50:35 +03:00
memory.go core/vm: polish RETURNDATA, add missing returns to CALL* 2017-08-16 13:43:14 +03:00
noop.go core, core/state, core/vm: remove exported account getters (#3618) 2017-02-22 23:29:59 +01:00
opcodes.go core/vm: implement REVERT metropolis opcode 2017-08-16 15:32:59 +03:00
stack_table.go all: update license information 2017-04-14 10:29:00 +02:00
stack.go core/vm: allocate stack to 1024 2017-05-25 11:37:04 +02:00
vm_jit_fake.go core, core/vm: implemented a generic environment (#3348) 2016-12-06 02:16:03 +01:00
vm_jit.go core/vm: improved EVM run loop & instruction calling (#3378) 2017-01-05 11:52:10 +01:00