bsc/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_test.go core/vm: reverse bit order in bytes of code bitmap (#24120) 2021-12-17 10:32:00 +01:00
analysis.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_test.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
contracts.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03: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_table_test.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
gas_table.go core/vm: Rename SHA3 instruction to KECCAK256 (#23976) 2021-11-30 10:34:34 +01:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
instructions_test.go core/vm: reduce overhead in instructions-benchmark (#24860) 2022-05-17 09:21:43 +02:00
instructions.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00
interface.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
interpreter_test.go core/vm: move interpreter interruption check to jump instructions (#24026) 2021-12-03 11:10:26 +01:00
interpreter.go core/vm: fix typo (#24714) 2022-04-20 16:13:47 +02: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_table.go core/vm: Rename SHA3 instruction to KECCAK256 (#23976) 2021-11-30 10:34:34 +01:00
memory.go core/vm: optimize Memory.Set32 (#24847) 2022-05-11 11:00:29 +02: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_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
stack.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00