[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.
[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
[BENCHMARKS]
* NEW: Little meaningless changes.
[INTERPRETER]
* NEW: JIT: Support for FOR EACH loops.
* BUG: JIT: Handle function values that are put on stack before calling them.
[COMPILER]
* NEW: JIT: Optimization of mathematic functions.
* NEW: JIT: Support for FOR EACH loops.
* NEW: JIT: Remove successive POP_x() / PUSH_x().
* NEW: JIT: Optimization of DIV and MOD.
* NEW: JIT: Support of internal control local variables used by SELECT and FOR EACH.
* NEW: JIT: Support for SWAP.
[GB.JIT]
* NEW: Optimization of mathematic functions.
* NEW: Variants management.
* NEW: All conversions are handled now.
* NEW: FOR EACH loops are implemented.
[INTERPRETER]
* NEW: Implement return value of JIT methods.
* NEW: Support for calling '.' operator from a JIT method.
[COMPILER]
* BUG: JIT: Fix detection of native arrays.
* BUG: JIT: Delete translated file if a class has no fast method anymore.
* BUG: JIT: Prefix JIT method with "jit_" to avoid possible conflicts.
* BUG: JIT: Fix variable initialization.
* NEW: JIT: Complete datatype support.
* NEW: JIT: Support for SWAP.
* NEW: JIT: Support for array operators.
* BUG: JIT: Fix arithmetic operators.
* NEW: JIT: Implement ME and "." operator.
* NEW: JIT: Complete GOSUB / RETURN support.
* NEW: JIT: Support for DIV and MOD operators. Not optimized yet.
[ARCHIVER]
* NEW: Put JIT translation in the archive.
[GB.JIT]
* NEW: Complete datatype support. Variant is not supported yet.
* NEW: Complete GOSUB / RETURN support.
* NEW: Support for ME and '.' operator.
[INTERPRETER]
* BUG: Release arguments after having called a JIT method.
* NEW: Add JIT interface for returning a value.
[COMPILER]
* NEW: JIT: Nicer translation for quick add of negative numbers.
[CONFIGURATION]
* NEW: Add '.jit' directory to '.gitignore'.
[COMPILER]
* NEW: New '-j' option that disables just in time compilation.
* NEW: JIT: Support for private functions calls.
* NEW: JIT: Support for native arrays accessors.
* BUG: JIT: Fix loop support.
* NEW: JIT: Support for GOSUB.
[GB.JIT]
* NEW: GB_JIT_DEBUG is an environment variable that defines if JIT compilation debugging messages are printed.
* NEW: GB_JIT_CFLAGS is an environment variable that defines the JIT compilation flags. The default is "-O3".
* NEW: Support for native arrays accessors.
[COMPILER]
* BUG: JIT: Fix local variable referencing.
* NEW: JIT: Implement NEW operator and array accessors.
[INTERPRETER]
* NEW: Support for JIT NEW operator and array accessors.
[GB.JIT]
* NEW: Support for object datatypes.
* NEW: Implement NEW operator and array accessors.
[COMPILER]
* NEW: JIT: Support for FOR...TO...NEXT loops.
* NEW: JIT: Support for Len(), Left$(), Mid$(), and Right$().
* NEW: JIT: Subroutines return values are now hadled correctly.
[GB.JIT]
* NEW: Compile JIT code with -O3.
[COMPILER]
* NEW: Internal initialization functions now can be JIT translated.
* NEW: Support of subroutine calling completed. Interpreter subroutines are called if there is no optimization implemented in the JIT translation.
[INTERPRETER]
* NEW: Remove old JIT stuff.
[GB.JIT]
* NEW: Use 'gambas.h' and 'gb.jit.h' to compile translated code.
* NEW: Work on JIT continues...
* NEW: Better panic errors.
[INTERPRETER]
* NEW: Remove the old JIT stuff.
* NEW: Calls gb.jit at runtime if needed. If a fast function has no jit implementation, the bytecode version is used.
* NEW: Start defining the JIT interface needed by the JIT functions.
* NEW: The common static character buffer is now twice the size of the maximum symbol length, to avoid possible overflows.
[GB.JIT]
* NEW: Compilation starts to work.
* NEW: Debugging messages.
* NEW: Support the new QUIT syntax with an exit code.
* NEW: Support raising events in parent classes.
git-svn-id: svn://localhost/gambas/trunk@5447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Can now profile each line of code, but beware: profiling makes the program much much slower.
[GB.DEBUG]
* OPT: Now DEBUG_calc_line_from_position has logaritmic time complexity instead of linear. That makes profiling each line much faster for large functions!
git-svn-id: svn://localhost/gambas/trunk@4886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.
[COMPILER]
* NEW: Support for variable number of arguments in extern functions.
[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is
defined but a null string.
git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Debugging information is printed as soon as the GB_JIT environmental
variable is not null.
* NEW: If LLVM version is lesser than 3.1, a warning message is printed.
Normally, a crash should occur just after. :-)
git-svn-id: svn://localhost/gambas/trunk@4779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
gbx_subr_common.h'.
git-svn-id: svn://localhost/gambas/trunk@4764 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.
[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.
[GB.JIT]
* NEW: JIT Compiler.
git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec