[Gambas-user] News about the new just-in-time compiler
Benoît Minisini
g4mba5 at gmail.com
Fri Jun 29 00:41:49 CEST 2018
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
More information about the User
mailing list