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 08:54:28 +02:00
committed by GitHub
co-authored by lmittmann
parent f4ac548619
commit a3be38127c
+4 -7
View File
@@ -224,8 +224,7 @@ const (
SELFDESTRUCT OpCode = 0xff
)
// Since the opcodes aren't all in order we can't use a regular slice.
var opCodeToString = map[OpCode]string{
var opCodeToString = [256]string{
// 0x0 range - arithmetic ops.
STOP: "STOP",
ADD: "ADD",
@@ -399,12 +398,10 @@ var opCodeToString = map[OpCode]string{
}
func (op OpCode) String() string {
str := opCodeToString[op]
if len(str) == 0 {
return fmt.Sprintf("opcode %#x not defined", int(op))
if s := opCodeToString[op]; s != "" {
return s
}
return str
return fmt.Sprintf("opcode %#x not defined", int(op))
}
var stringToOp = map[string]OpCode{