core/vm: performance tweak of OpCode.String() (#28453)

make `opCodeToString` a `[256]string` array

Co-authored-by: lmittmann <lmittmann@users.noreply.github.com>
This commit is contained in:
lmittmann 2023-11-02 07:54:28 +01:00 committed by GitHub
parent f4ac548619
commit a3be38127c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -224,8 +224,7 @@ const (
SELFDESTRUCT OpCode = 0xff SELFDESTRUCT OpCode = 0xff
) )
// Since the opcodes aren't all in order we can't use a regular slice. var opCodeToString = [256]string{
var opCodeToString = map[OpCode]string{
// 0x0 range - arithmetic ops. // 0x0 range - arithmetic ops.
STOP: "STOP", STOP: "STOP",
ADD: "ADD", ADD: "ADD",
@ -399,12 +398,10 @@ var opCodeToString = map[OpCode]string{
} }
func (op OpCode) String() string { func (op OpCode) String() string {
str := opCodeToString[op] if s := opCodeToString[op]; s != "" {
if len(str) == 0 { return s
return fmt.Sprintf("opcode %#x not defined", int(op))
} }
return fmt.Sprintf("opcode %#x not defined", int(op))
return str
} }
var stringToOp = map[string]OpCode{ var stringToOp = map[string]OpCode{