go-ethereum/core/vm
Sina Mahmoodi bf693228a3
eth/tracers/js: goja tracer (#23773)
This adds a JS tracer runtime environment based on the Goja VM. The new
runtime replaces the duktape runtime, which will be removed soon.

Goja is implemented in Go and is faster for cases where the Go <-> JS
transition overhead dominates overall performance. It is faster because
duktape is written in C, and the transition cost includes the cost of using
cgo. Another reason for using Goja is that go-duktape is not maintained
anymore.

We expect the performace of JS tracing to be at least as good or better with
this change.
2022-05-18 16:34:18 +02:00
..
runtime eth/tracers/js: goja tracer (#23773) 2022-05-18 16:34:18 +02:00
testdata core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2020-11-13 13:39:59 +01:00
analysis.go core/vm: reverse bit order in bytes of code bitmap (#24120) 2021-12-17 10:32:00 +01:00
analysis_test.go core/vm: reverse bit order in bytes of code bitmap (#24120) 2021-12-17 10:32:00 +01:00
common.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
contract.go core/vm: simplify op lookup in contract (#23974) 2021-11-25 20:10:01 +01:00
contracts.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00
contracts_test.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go core/vm: implement EIP-3855: PUSH0 instruction (#24039) 2022-05-06 14:36:45 +02:00
errors.go core/vm: simplify error handling in interpreter loop (#23952) 2021-11-29 14:46:24 +01:00
evm.go core/evm: RANDOM opcode (EIP-4399) (#24141) 2022-01-10 09:44:21 +02:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
gas_table.go core/vm: Rename SHA3 instruction to KECCAK256 (#23976) 2021-11-30 10:34:34 +01:00
gas_table_test.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
instructions.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00
instructions_test.go core/vm: reduce overhead in instructions-benchmark (#24860) 2022-05-17 09:21:43 +02:00
interface.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
interpreter.go core/vm: fix typo (#24714) 2022-04-20 16:13:47 +02:00
interpreter_test.go core/vm: move interpreter interruption check to jump instructions (#24026) 2021-12-03 11:10:26 +01:00
jump_table.go core/evm: RANDOM opcode (EIP-4399) (#24141) 2022-01-10 09:44:21 +02:00
logger.go core,eth: implement tx-level hooks for tracers (#24510) 2022-03-31 11:51:44 +02:00
memory.go core/vm: optimize Memory.Set32 (#24847) 2022-05-11 11:00:29 +02:00
memory_table.go core/vm: Rename SHA3 instruction to KECCAK256 (#23976) 2021-11-30 10:34:34 +01:00
opcodes.go core/vm: separate opcode group for 0x20 range (#24850) 2022-05-11 08:04:16 +03:00
operations_acl.go core/vm: fix sstore gas comment type (#24583) 2022-03-29 11:21:11 +03:00
stack.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00