From 8b658343f61b61dcc743d385dcda3395c5008c73 Mon Sep 17 00:00:00 2001 From: Jacek Sieka Date: Sun, 2 Jun 2024 13:00:27 +0200 Subject: [PATCH] simplify EVM callback (#2282) The EVM callbacks currently don't require closures, so we can use `nimcall` to reduce overhead slightly. --- nimbus/evm/interpreter/op_handlers/oph_defs.nim | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/nimbus/evm/interpreter/op_handlers/oph_defs.nim b/nimbus/evm/interpreter/op_handlers/oph_defs.nim index 789ec8127..f355f173e 100644 --- a/nimbus/evm/interpreter/op_handlers/oph_defs.nim +++ b/nimbus/evm/interpreter/op_handlers/oph_defs.nim @@ -1,5 +1,5 @@ # Nimbus -# Copyright (c) 2018-2023 Status Research & Development GmbH +# Copyright (c) 2018-2024 Status Research & Development GmbH # Licensed under either of # * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or # http://www.apache.org/licenses/LICENSE-2.0) @@ -20,11 +20,10 @@ import type Vm2Ctx* = tuple cpt: Computation ## computation text - rc: int ## return code from op handler Vm2OpFn* = ## general op handler, return codes are passed ## back via argument descriptor ``k`` - proc(k: var Vm2Ctx) {.gcsafe, raises: [CatchableError].} + proc(k: var Vm2Ctx) {.nimcall, gcsafe, raises: [CatchableError].} Vm2OpHanders* = tuple ## three step op code execution, typically