Commit graph

6715 commits

Author SHA1 Message Date
gambas
23be942b6a Work continues on the new JIT system.
[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.
2018-06-05 11:43:39 +02:00
Adrien Prokopowicz
e1272ec4f3
Fix Archlinux CI builds 2018-06-03 21:36:29 +02:00
gambas
eb00f9e55f Update version to 3.11.90.
[CONFIGURATION]
* NEW: Update version to 3.11.90.
2018-06-02 20:05:18 +02:00
gambas
23081e47c6 Work continues on new JIT system. The "Fractal" example runs!
[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.
2018-06-02 17:59:47 +02:00
gambas
3454c0cd29 The Move() and Resize() methods now correctly update the contents of windows.
[GB.QT4]
* BUG: The Move() and Resize() methods now correctly update the contents of windows.

[GB.QT5]
* BUG: The Move() and Resize() methods now correctly update the contents of windows.
2018-06-01 16:01:51 +02:00
gambas
4956c768f8 Add '.jit' directory to '.gitignore'.
[CONFIGURATION]
* NEW: Add '.jit' directory to '.gitignore'.
2018-06-01 14:57:39 +02:00
gambas
74ddac88b8 Fix clipboard instanciation. No more GTK+ warning at the end of the program.
[GB.GTK]
* BUG: Remove unused static cursors.
* BUG: Fix clipboard instanciation. No more GTK+ warning at the end of the program.

[GB.GTK3]
* BUG: Fix clipboard instanciation. No more GTK+ warning at the end of the program.
2018-06-01 14:55:53 +02:00
gambas
1d276cdc68 Work continues on new JIT system.
[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.
2018-06-01 14:40:07 +02:00
gambas
714b77a10d Work on new JIT system continues.
[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.
2018-06-01 03:50:42 +02:00
gambas
5219fc48d1 Work continues on new JIT system.
[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.
2018-05-29 23:25:57 +02:00
gambas
83a2452acb Continue working on new JIT system.
[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.
2018-05-29 03:43:23 +02:00
gambas
a2b64b190a Work on new JIT system continues.
[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.
2018-05-28 03:18:44 +02:00
gambas
540cda4531 C/C++ syntax highlighting: A backslash at the end of the line continues preprocessor definitions.
[GB.EVAL.HIGHLIGHT]
* BUG: C/C++ syntax highlighting: A backslash at the end of the line continues preprocessor definitions.
* BUG: Fix a warning.
2018-05-28 03:16:53 +02:00
gambas
d797a545b6 [COMPILER]
* 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.
2018-05-26 16:50:00 +02:00
gambas
3c8c722989 New component for compiling JIT code at runtime.
[GB.JIT]
* NEW: New component for compiling JIT code at runtime.
2018-05-25 21:03:48 +02:00
gambas
cdc6d47922 Work continues on new JIT system.
[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.
2018-05-25 21:01:38 +02:00
gambas
e2a53d4a09 't' and 'tt' date format now return the correct timezone.
[INTERPRETER]
* BUG: 't' and 'tt' date format now return the correct timezone.
2018-05-25 12:17:30 +02:00
gambas
aebc6a0bda Fix some memory leaks when opening a connection fails.
[GB.DB.ODBC]
* BUG: Fix some memory leaks when opening a connection fails.
2018-05-24 17:59:50 +02:00
gambas
502b403728 TextEditor: Shortcuts work again.
[GB.FORM.EDITOR]
* BUG: TextEditor: Shortcuts work again.
2018-05-24 17:41:49 +02:00
gambas
35e9859894 Correctly fix the READ instruction without leaking memory.
[INTERPRETER]
* BUG: Correctly fix the READ instruction without leaking memory.
2018-05-24 15:09:51 +02:00
gambas
ebd8963617 Continue working on the new jit system.
[COMPILER]
* NEW: Continue working on the new jit system.
* NEW: Initial support for arithmetic instructions.
2018-05-24 00:31:58 +02:00
gambas
a9967b4ad0 Merge branch 'master' of gitlab.com:gambas/gambas 2018-05-23 20:40:26 +02:00
gambas
b5edf09de9 Reading a fixed number of bytes with READ does not crash anymore if an "End of file" error is raised.
[INTERPRETER]
* BUG: Reading a fixed number of bytes with READ does not crash anymore if an "End of file" error is raised.
2018-05-23 20:39:16 +02:00
Adrien Prokopowicz
4eec811322
Fix Debian poppler builds 2018-05-18 18:53:08 +02:00
Benoît Minisini
1b32fdc9f0 Use "configure -C", it's faster. 2018-05-18 07:22:52 +00:00
Benoît Minisini
cb4bde6ccd Merge branch 'master' into 'master'
Add basic configuration for Gitlab CI

See merge request gambas/gambas!21
2018-05-18 07:18:19 +00:00
gambas
dfeb4243ab Continue working on the new jit system.
[COMPILER]
* NEW: Continue working on the new jit system.
2018-05-18 02:19:28 +02:00
Adrien Prokopowicz
398d6d91e9
Add gitlab-ci.yml 2018-05-18 01:33:02 +02:00
gambas
f39f7063ef Start working on the new jit system.
[COMPILER]
* NEW: Start working on the new jit system.

[GB.JIT]
* NEW: Rename the component as 'gb.jit.llvm'.
2018-05-17 01:13:56 +02:00
gambas
8200600168 Don't crash when opening a Gambas source file as an external file.
[DEVELOPMENT ENVIRONMENT]
* BUG: Don't crash when opening a Gambas source file as an external file.
2018-05-16 19:07:50 +02:00
gambas
e9bc65686c Software farm: Don't crash when installing an example if its symbolic link alread exists.
[DEVELOPMENT ENVIRONMENT]
* BUG: Software farm: Don't crash when installing an example if its symbolic link alread exists.
* BUG: Project tree: CTRL + double-click is now triggered only on source files.
2018-05-16 19:00:22 +02:00
gambas
64f20f041f Continue fixing compilation on old versions of the horrible poppler library.
[GB.PDF]
* BUG: Continue fixing compilation on old versions of the horrible poppler library.
2018-05-16 03:50:46 +02:00
gambas
f87cd1025b Continue fixing compilation on old popplers.
[GB.PDF]
* BUG: Continue fixing compilation on old popplers.
2018-05-16 02:29:12 +02:00
gambas
e528f3441a Fix compilation with poppler < 0.64.
[GB.PDF]
* BUG: Fix compilation with poppler < 0.64.
2018-05-16 02:24:20 +02:00
Tobias Boege
0893ca7dee gb.pdf: Fix compilation with older popplers
[GB.PDF]
* BUG: Fix compilation with older popplers
2018-05-16 02:04:47 +02:00
Adrien Prokopowicz
6c9f64666a
[GB.XML]
* BUG: Fix the XmlNode.GetElementsByAttributeValue() method.
2018-05-16 01:43:21 +02:00
Tobias Boege
fdf8fa658f gb.pdf: Compile with poppler 0.64
[GB.PDF]
* NEW: Add many consts to compile with poppler 0.64. Partial patch thanks to Tony Morehen
2018-05-15 21:27:51 +02:00
gambas
6858457dbb Automatic completion: Don't crash when completing an unreadable directory.
[DEVELOPMENT ENVIRONMENT]
* BUG: Automatic completion: Don't crash when completing an unreadable directory.
2018-05-14 01:18:11 +02:00
Benoît Minisini
df6bf93820 Merge branch 'master' into 'master'
This commit contains bug fix for the Chart component.

See merge request gambas/gambas!18
2018-05-13 21:20:21 +00:00
Adrien Prokopowicz
2ac99a0f2a
[GB.XML]
* BUG: Fix reading XML comments and CDATA tags when they contain
characters that belong to the end tag while not forming a complete one.
* BUG: Fix returning value of XML comments.

[GB.XML.HTML]
* BUG: Fix reading lowercase HTML doctypes.
2018-05-13 15:49:00 +02:00
gambas
dce6496cd9 Use text colors and not tooltip colors for form & image editors' information panel. Tooltip colors are sometimes unreadable.
[DEVELOPMENT ENVIRONMENT]
* NEW: Form editor: Use text colors and not tooltip colors for information panel. Tooltip colors are sometimes unreadable.
* NEW: Image editor: Use text colors and not tooltip colors for information panel.
2018-05-12 19:41:48 +02:00
gambas
2c2146d594 Merge branch 'master' of gitlab.com:gambas/gambas 2018-05-12 19:40:38 +02:00
gambas
352bf8230d Fix use of QFont::setStyleName()
[GB.QT4]
* BUG: Don't use QFont::setStyleName() if Qt version is not at least 4.8.

[GB.QT5]
* BUG: Call QFont::setStyleName() last, as it may be buggy if Qt version is not at least 5.3.
2018-05-12 19:38:38 +02:00
Benoît Minisini
386edd1f79 Merge branch 'patch-2' into 'master'
fix forgotten conditional, not property a bug, conserves minimal build requirements

See merge request gambas/gambas!20
2018-05-12 13:07:30 +00:00
PICCORO Lenz McKAY
7e622ba756 fix forgotten conditional, not property a bug, conserves minimal build requirements 2018-05-11 20:21:10 +00:00
gambas
d552008415 Add a flag for enabling link time optimization, and disable it by default.
[CONFIGURATION]
* NEW: Add a flag for enabling link time optimization, and disable it by default.
2018-05-10 09:13:15 +02:00
gambas
1701be8a34 Open project dialog: Always select the project filter text.
[DEVELOPMENT ENVIRONMNENT]
* BUG: Main window: Fix an english mistake in a menu entry.
* NEW: Open project dialog: Always select the project filter text.
2018-05-09 01:18:13 +02:00
gambas
14614f4e67 Check if the "-flto" link time optimzation flag is available.
[CONFIGURATION]
* BUG: Check if the "-flto" link time optimzation flag is available.
2018-05-08 18:44:31 +02:00
gambas
85376261ea DateBox: The time popup works correctly again.
[GB.FORM]
* BUG: DateBox: The time popup works correctly again.
2018-05-07 22:20:01 +02:00
Tobias Boege
6a77f9f2c5 Only use tag in trunk_version.h if it is *exactly* that commit
[CONFIGURATION]
* BUG: Only use tag in trunk_version.h if it is *exactly* that commit
2018-05-05 18:07:50 +02:00