<div dir="ltr"><div>can I delete my previous mail ? (yes I know we can't ... arf)  :'(</div><div><br></div><div>... I've misunderstood the Cedron mail ... sorry... I apologize</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 22 mai 2019 à 10:11, Tobias Boege <<a href="mailto:taboege@gmail.com">taboege@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, 21 May 2019, Cedron Dawg wrote:<br>
> In other words are they efficient or syntax sugar?<br>
> <br>
<br>
If you compile a project with `gbc3 -av` you recompile all classes and<br>
do it verbosely. This will emit the generated bytecode in plain text.<br>
There you can see that the "On" part of the instruction compiles to an<br>
inline jump table. That's as far as I looked.<br>
<br>
Next step would be to go into main/gbx/gbx_exec_loop.c and trace the<br>
implementation of that instruction from the big bytecode jump_table,<br>
if you *really* care about what it does exactly.<br>
<br>
Anyway, it's not syntactic sugar. It's a dedicated instruction.<br>
Interestingly, in the bytecode, the ON part seems to do the jumping<br>
and the GOSUB part afterwards just handles the "fall-through" case.<br>
<br>
Regards,<br>
Tobi<br>
<br>
-- <br>
"There's an old saying: Don't change anything... ever!" -- Mr. Monk<br>
<br>
----[ Gambas mailing-list is hosted by <a href="https://www.hostsharing.net" rel="noreferrer" target="_blank">https://www.hostsharing.net</a> ]----<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">Fabien Bodard </div>