go-ethereum/core/vm/runtime
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
..
doc.go core/vm/runtime: added simple execution runtime 2015-11-18 16:50:20 +01:00
env.go core: miner: reduce allocations in block building (#33375) 2026-02-03 08:19:16 +01:00
runtime.go core/vm, eth, tests: introduce gas budget (#34712) 2026-04-20 15:33:29 +08:00
runtime_example_test.go core/vm/runtime: added simple execution runtime 2015-11-18 16:50:20 +01:00
runtime_fuzz_test.go tests/fuzzers: move fuzzers into native packages (#28467) 2023-11-14 14:34:29 +01:00
runtime_test.go core/vm: implement stack arena (#33960) 2026-04-28 11:10:44 +02:00