go-ethereum/eth/tracers
Guillaume Ballet 4dc7d46155
core/vm: implement stack arena (#33960)
Here, we change the EVM stack implementation to use an 'arena', i.e.
a shared allocation pool for sub-call stacks. The stack is now more
GC-friendly, since it is a slice of uint256 values instead of a slice of pointers.

Code that pushes an item to the stack has been changed to get() the top
item, then overwrite it.

The PR is a rewrite/rebase of #30362.

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2026-04-28 11:10:44 +02:00
..
internal cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
js core/vm, eth, tests: introduce gas budget (#34712) 2026-04-20 15:33:29 +08:00
live eth/tracers: fix supply tracer uncle accounting (#31882) 2025-08-26 15:44:16 +02:00
logger core/vm, eth, tests: introduce gas budget (#34712) 2026-04-20 15:33:29 +08:00
native eth/tracers: fix codehash in prestate diffmode (#34675) 2026-04-16 16:51:26 +08:00
api.go core/vm: implement stack arena (#33960) 2026-04-28 11:10:44 +02:00
api_test.go cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
dir.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
live.go eth/tracers: various fixes (#30540) 2024-10-17 06:51:47 +02:00
tracers_test.go core: implement eip-7778: block gas accounting without refunds (#33593) 2026-03-04 18:18:18 +08:00
tracker.go eth/traces: add state limit (#25812) 2022-10-06 10:48:04 +02:00
tracker_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00