as we have nested functions, you can just initialize a table with function
pointers, and use it instead of computed goto. this is way more powerful
trick, as you can actually use any selector you want, in any way you want,
and still have the speed of computed goto (most of the time).

as we have nested functions, you can just initialize a table
with function pointers, and use it instead of computed goto.
this is way more powerful trick, as you can actually use any
selector you want, in any way you want, and still have the
speed of computed goto (most of the time).

That´s nice, I take a look with compiler explorer and it indeed
create a jump instead of a call. Not sure if fast as goto, w´ll
have to benchmark it :)

It seems that labels are strictly compile time concepts. Once
used to set the JMP offsets they go back into the nil.
For dynamic goto i think that you're already been given the
answer: jump tables can be emulated with array of
delegates/functions, although probably slightly slower (CALL vs
JMP, there can be a function frame for the CALL destination).