[Gambas-user] News about the new just-in-time compiler
Jussi Lahtinen
jussi.lahtinen at gmail.com
Fri Jun 29 02:27:48 CEST 2018
What is opcode 0600? Byref?
I'm thinking a way to test the JIT with my GambasTester. If only there were
#define or even one user defined preprocessor variable...
Jussi
On Fri, Jun 29, 2018 at 1:41 AM, Benoît Minisini <g4mba5 at gmail.com> wrote:
> Hi,
>
> Here is a few news about the new just-in-compiler...
>
> 1) Almost everything is supported, and seem to work. Bigger test are
> needed now.
>
> 2) The following are not implemented, and may never be implemented for
> different reasons:
>
> - Functions with a variable number of arguments.
>
> - Arguments passed by reference with ByRef.
>
> - Functions used as extern callbacks.
>
> 3) Extern functions calls are optimized: they are directly called from the
> JIT code. But this has not been tested yet!
>
> 4) Not all mathematical functions are correctly implemented yet.
>
> 5) clang may be supported instead of gcc. This is something to test before
> finding a way to dynamically detect which compiler to use.
>
> 6) I introduced a new keyword, UNSAFE. You use it with the FAST keyword.
>
> When a function is declared "FAST UNSAFE", then it is just-in-time
> compiled, but all the safety checks are removed (null object, division by
> zero, out of array bounds...).
>
> It allows you to speed up the code a little bit, when you are sure it
> won't do illegal things.
>
> And if it does anyway, you will have memory corruption and/or segmentation
> fault.
>
> Of course, the keyword can be used at the class level.
>
> Enjoy!
>
> --
> Benoît Minisini
>
> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20180629/dd78f219/attachment.html>
More information about the User
mailing list