go-ethereum/internal/ethapi
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
..
override eth/catalyst: implement testing_buildBlockV1 (#33656) 2026-02-23 15:56:31 +01:00
testdata internal/ethapi: Add timestamp to eth_getTransactionByHash (#33709) 2026-02-02 12:20:16 +01:00
addrlock.go all: update license information (#16089) 2018-02-14 13:49:11 +01: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
backend.go internal/ethapi: add eth_SendRawTransactionSync (#32830) 2025-10-16 17:34:47 +02:00
dbapi.go all: remove concept of public/private API definitions (#25053) 2022-06-21 12:05:43 +03:00
errors.go core, internal/ethapi: fix incorrect max-initcode RPC error mapping (#34067) 2026-03-23 22:10:32 +08:00
logtracer.go internal/ethapi: add timestamp to logs in eth_simulate (#32831) 2025-10-06 18:19:25 +02:00
simulate.go core/vm: implement stack arena (#33960) 2026-04-28 11:10:44 +02:00
simulate_test.go internal/ethapi: fix gas cap for eth_simulateV1 (#33952) 2026-03-05 09:09:07 +08:00
transaction_args.go internal/ethapi: include AuthorizationList in gas estimation (#33849) 2026-02-23 18:07:26 +01:00
transaction_args_test.go ethapi: reduce some of the wasted effort in GetTransactionReceipt (#32021) 2025-07-01 15:18:49 +08:00