go-ethereum/core/vm
lmittmann 17d65e9451
core/vm: add configurable jumpdest analysis cache (#32143)
This adds a method on vm.EVM to set the jumpdest cache implementation.
It can be used to maintain an analysis cache across VM invocations, to improve
performance by skipping the analysis for already known contracts.

---------

Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
2025-08-01 13:57:38 +02:00
..
program all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
runtime core/asm: delete assembler/disassembler (#31211) 2025-02-19 06:57:08 -07:00
testdata core/vm: triple modexp cost post-cancun (#32231) 2025-07-21 12:29:55 +02:00
analysis_legacy.go core/vm: add configurable jumpdest analysis cache (#32143) 2025-08-01 13:57:38 +02:00
analysis_legacy_test.go core/vm: add configurable jumpdest analysis cache (#32143) 2025-08-01 13:57:38 +02:00
common.go all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-10-20 14:41:51 +03:00
contract.go core/vm: add configurable jumpdest analysis cache (#32143) 2025-08-01 13:57:38 +02:00
contracts.go core: replace the empty fmt.Errorf with errors.New (#32274) 2025-07-28 09:13:50 +08:00
contracts_fuzz_test.go eth/tracers: live chain tracing with hooks (#29189) 2024-03-22 18:53:53 +01:00
contracts_test.go core/vm: implement EIP-7951 - precompile for secp256r1 (#31991) 2025-07-07 20:59:45 +02:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go core/vm: update gas cost of CLZ to five (#32172) 2025-07-09 08:46:59 +08:00
errors.go build: update to golangci-lint 1.61.0 (#30587) 2024-10-14 19:25:22 +02:00
evm.go core/vm: add configurable jumpdest analysis cache (#32143) 2025-08-01 13:57:38 +02:00
gas.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
gas_table.go core/state: add GetStateAndCommittedState (#31585) 2025-07-03 13:19:34 +08:00
gas_table_test.go core/vm: clean up EVM environmental structure (#31061) 2025-02-18 21:53:33 +08:00
instructions.go all: create global hasher pool (#31769) 2025-05-09 13:52:40 +08:00
instructions_test.go core/vm: implement EIP-7939 - CLZ opcode (#31989) 2025-07-07 11:19:33 +02:00
interface.go core/state: add GetStateAndCommittedState (#31585) 2025-07-03 13:19:34 +08:00
interpreter.go core/vm: implement EIP-7939 - CLZ opcode (#31989) 2025-07-07 11:19:33 +02:00
interpreter_test.go core/state: add GetStateAndCommittedState (#31585) 2025-07-03 13:19:34 +08:00
jump_table.go core/vm: implement EIP-7939 - CLZ opcode (#31989) 2025-07-07 11:19:33 +02:00
jump_table_export.go core/vm: implement EIP-7939 - CLZ opcode (#31989) 2025-07-07 11:19:33 +02:00
jump_table_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
jumpdests.go core/vm: add configurable jumpdest analysis cache (#32143) 2025-08-01 13:57:38 +02:00
memory.go core/vm, go.mod: update uint256 and use faster method to write to memory (#30868) 2024-12-17 08:58:26 +01:00
memory_table.go core/vm, cmd/evm: remove EOF (#32000) 2025-06-11 14:50:46 +02:00
memory_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
opcodes.go core/vm: implement EIP-7939 - CLZ opcode (#31989) 2025-07-07 11:19:33 +02:00
operations_acl.go core/state: add GetStateAndCommittedState (#31585) 2025-07-03 13:19:34 +08:00
operations_verkle.go core/state, core/vm: update stateless gas costs to follow the verkle-gen-7 testnet (#31014) 2025-05-15 20:43:52 +08:00
stack.go core/vm: improved stack swap performance (#30249) 2024-08-06 14:38:47 +02:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00