* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.
[INTERPRETER]
* NEW: Support for the UNSAFE keyword.
[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
[INTERPRETER]
* NEW: Support for error management in JIT methods.
[COMPILER]
* BUG: Fix Error() function metadata.
[GB.JIT]
* NEW: Support for error management.
* NEW: TRY instruction.
* BUG: Correct support of NULL.
[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.
[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.
[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.
[COMPILER]
* NEW: Work continues on new JIT system.
[INTERPRETER]
* NEW: Make comparison operator true functions so that they can be called by the JIT code.
[INTERPRETER]
* NEW: New API for reference a Gambas string.
[GB.DB]
* NEW: Result.GetAll() is a new method that returns an array of the values of a specific field from each record. It is about twice faster than the equivalent code written in Gambas.
[COMPILER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
[INTERPRETER]
* NEW: Oct$() is a new functions that converts an integer to its octal representation.
* OPT: RDir() now does less stat() system calls, by assuming that the number of hard links of a directory is its number of sub-directories plus two.
Scanning my home directory calls stat() about 640,000 times instead of 715,000 before. About a 10% gain.
* OPT: Editor: Some optimizations in identifier completion.
* NEW: Image editor: Add an opacity effect.
* NEW: Update backround images.
[WEBSITE MAKER]
* NEW: Update to 3.10 version.
[WIKI]
* NEW: The '{@classes}' command can take arguments to add custom classes to the list of classes.
git-svn-id: svn://localhost/gambas/trunk@8175 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add an API that allows to create an array class before instanciating it.
[GB.DBUS]
* BUG: When marshalling from DBus to Gambas, create the array classes before instanciating them.
git-svn-id: svn://localhost/gambas/trunk@8173 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch version to 3.10.90.
[GB.DB]
* NEW: Connection.TimeZone is new property that will allow to define the default timezone of dates stored in the database we are connected to. Not implemented yet.
git-svn-id: svn://localhost/gambas/trunk@8168 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a autoconf check for monotonic clock.
[INTERPRETER]
* BUG: Use a monotonic clock (if possible) to implement the WAIT instruction.
git-svn-id: svn://localhost/gambas/trunk@8138 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
[INTERPRETER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
* BUG: The signal handler now loops until the signal pipe is void.
git-svn-id: svn://localhost/gambas/trunk@8129 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Make component compile with gcc 6.
[INTERPRETER]
* BUG: Include <cmath> instead of <math.h> for components written in C++, so that they compile with gcc 6.
[GB.GTK]
* BUG: Make component compile with gcc 6.
[GB.GTK3]
* BUG: Make component compile with gcc 6.
[GB.QT4]
* BUG: Make component compile with gcc 6.
[GB.QT5]
* BUG: Make component compile with gcc 6.
git-svn-id: svn://localhost/gambas/trunk@8088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Automatically restart mkfifo() and open() system calls when executing the PIPE instruction.
git-svn-id: svn://localhost/gambas/trunk@8053 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update french translation.
* NEW: Support for the new gb.term component.
[INTERPRETER]
* NEW: Add an API that returns the file descriptor associated with a specific stream.
[GB.TERM]
* NEW: New component for terminal management with an API very close to the one provided by the operating system.
git-svn-id: svn://localhost/gambas/trunk@8043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Timer delay is now stored in 31 bits, and so can now be up to 2^31 - 1 milliseconds, i.e. about 24 days, 20 hours and 31 seconds.
git-svn-id: svn://localhost/gambas/trunk@7925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Define "__STDC_FORMAT_MACROS" macro in 'gb_common.h', so that C++ source files using '<inttypes.h>' compile even with old gcc versions.
git-svn-id: svn://localhost/gambas/trunk@7891 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: MenuButton: Take foreground color into account correctly.
* BUG: MenuButton: Clip text so that arrow is always clearly visible.
* BUG: MenuButton: Take the Design property into account correctly.
git-svn-id: svn://localhost/gambas/trunk@7864 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When searching a relative path inside an archive, ignore trailing slashes: "foo/bar/" and "/foo/bar//" are now the same as "foo/bar".
git-svn-id: svn://localhost/gambas/trunk@7837 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Finish the redesign of the debug panel.
[INTERPRETER]
* BUG: Fix a stack mismatch leading to a crash in Eval() when an "Unknown symbol" error occurs.
[GB.FORM]
* BUG: SidePanel: The Hide event is now raised after the SidePanel has been actually hidden.
git-svn-id: svn://localhost/gambas/trunk@7754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.
git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a symbol table optimization that is disabled because it's not worth it.
* OPT: Force inlining of functions in symbol tables routines.
* OPT: A little optimization on routine string argument extraction.
git-svn-id: svn://localhost/gambas/trunk@7650 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Work on internal expression datatype analyze has continued.
* OPT: Compiling syntax trees is faster now.
[INTERPRETER]
* OPT: Analyzing objects a method or a property applies to is faster now.
* NEW: Remove an unused method in table symbol implementation.
git-svn-id: svn://localhost/gambas/trunk@7647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Compile is now compiled with -O3 optimizations.
* OPT: Reserved words built-in symbol table is faster now.
* NEW: Initial support for expression datatype analyze. Some new errors are raised at compilation time, like using a string with the AND operator for example. The datatype analyzer is rougher than the IDE one because it is local to the compile class.
* OPT: Symbol table search is a bit faster.
git-svn-id: svn://localhost/gambas/trunk@7632 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Detect the fstatat() system function.
[INTERPRETER]
* OPT: Dir() and RDir() are now 10-30% faster by using fstatat() and assuming that directories with just two hard links have no child directories (each sub-directory having one hard-link to its parent directory through the ".." entry).
git-svn-id: svn://localhost/gambas/trunk@7610 867c0c6c-44f3-4631-809d-bfa615b0a4ec