aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/jump_table.go
diff options
context:
space:
mode:
authorGuillaume Ballet <gballet@gmail.com>2018-07-25 20:56:39 +0800
committerGitHub <noreply@github.com>2018-07-25 20:56:39 +0800
commit7abedf9bbb725da8d610762d051af43085be1cda (patch)
tree7640e475868c575115cbcfde8bddb7b4484eee20 /core/vm/jump_table.go
parent27a278e6e35836999ac8e4d9a19c406407db8ae5 (diff)
downloadgo-tangerine-7abedf9bbb725da8d610762d051af43085be1cda.tar.gz
go-tangerine-7abedf9bbb725da8d610762d051af43085be1cda.tar.zst
go-tangerine-7abedf9bbb725da8d610762d051af43085be1cda.zip
core/vm: support for multiple interpreters (#17093)
- Define an Interpreter interface - One contract can call contracts from other interpreter types. - Pass the interpreter to the operands instead of the evm. This is meant to prevent type assertions in operands.
Diffstat (limited to 'core/vm/jump_table.go')
-rw-r--r--core/vm/jump_table.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/vm/jump_table.go b/core/vm/jump_table.go
index f387e6133..deedf70cd 100644
--- a/core/vm/jump_table.go
+++ b/core/vm/jump_table.go
@@ -24,7 +24,7 @@ import (
)
type (
- executionFunc func(pc *uint64, env *EVM, contract *Contract, memory *Memory, stack *Stack) ([]byte, error)
+ executionFunc func(pc *uint64, interpreter *EVMInterpreter, contract *Contract, memory *Memory, stack *Stack) ([]byte, error)
gasFunc func(params.GasTable, *EVM, *Contract, *Stack, *Memory, uint64) (uint64, error) // last parameter is the requested memory size as a uint64
stackValidationFunc func(*Stack) error
memorySizeFunc func(*Stack) *big.Int