Comment Comment by evomassiny Could you duplicate `RECORD_INST` before each `INSTRUCTION_N`, so that:``` INSTRUCTION_1: // subroutine 1 ip++; goto *dispatch_var[*ip]; INSTRUCTION_2: // subroutine 2 ip++; goto *dispatch_var[*ip]; ```becomes: ``` RECORD_INST_1: // record logic INSTRUCTION_1: // subroutine 1 ip++; goto *dispatch_var[*ip]; RECORD_INST_2: // record logic INSTRUCTION_2: // subroutine 2 ip++; goto *dispatch_var[*ip]; ```This way you could directly swap `dispatch_var` with an array populated with the `RECORD_INST_*` labels, and remove one step at runtime.Or maybe this is what you are trying to avoid to reduce the binary size ? parent evomassiny 3 months ago
```
```becomes: ```
```This way you could directly swap `dispatch_var` with an array populated with the `RECORD_INST_*` labels, and remove one step at runtime.
Or maybe this is what you are trying to avoid to reduce the binary size ?