diff --git a/crates/interpreter/src/instructions.rs b/crates/interpreter/src/instructions.rs index 493cba5777..63ff98f6b6 100644 --- a/crates/interpreter/src/instructions.rs +++ b/crates/interpreter/src/instructions.rs @@ -35,8 +35,14 @@ pub type Instruction = fn(InstructionContext<'_, H, W>); /// Instruction table is list of instruction function pointers mapped to 256 EVM opcodes. pub type InstructionTable = [Instruction; 256]; -/// Returns the instruction table for the given spec. +/// Returns the default instruction table for the given interpreter types and host. +#[inline] pub const fn instruction_table( +) -> [Instruction; 256] { + const { instruction_table_impl::() } +} + +const fn instruction_table_impl( ) -> [Instruction; 256] { use bytecode::opcode::*; let mut table = [control::unknown as Instruction; 256];