Commit graph

40 commits

Author SHA1 Message Date
gambas
4e50dec11d Work continues on new JIT system. Translation is now done at runtime.
[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.
2018-06-09 22:42:35 +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
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
17834b13a6 Don't call QUIT when terminating a task, it crashes. Just clean up the temporary directory and exit.
[INTERPRETER]
* BUG: Don't call QUIT when terminating a task, it crashes. Just clean up the temporary directory and exit.
2018-01-28 17:57:13 +01:00
gambas
e3f941c7e2 Use a dedicated stream for locks, and ignore Application.Busy when displaying a message box.
[DEVELOPMENT ENVIRONMENT]
* OPT: Don't load the help browser form immediately to speed up IDE starting.

[INTERPRETER]
* NEW: Use a dedicated stream for locks, so that the File object returned by LOCK cannot be used for reading or writing the locked file.

[GB.GTK]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.GTK3]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.QT4]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.QT5]
* NEW: Ignore Application.Busy when displaying a message box.
2017-12-18 13:02:39 +01:00
Benoît Minisini
cbfcb9fb00 [INTERPRETER]
* BUG: Check if linking with 'librt' is needed to get monotonic clock.


git-svn-id: svn://localhost/gambas/trunk@8139 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-05-26 12:26:39 +00:00
Benoît Minisini
2a9836fead [INTERPRETER]
* OPT: Optimize access to objects whose class is "simple", i.e. without
  parent, children, special check method, and not virtual.
* OPT: Detect when automatic conversion is useless in arithmetic and
  comparison operators.
* OPT: Optimize a bit inequality comparison operators.


git-svn-id: svn://localhost/gambas/trunk@7476 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-11-14 04:29:43 +00:00
Benoît Minisini
217f075c8b [INTERPRETER]
* OPT: Collection access is faster now.
* OPT: LINE INPUT and INPUT are faster now.
* OPT: Conversions to Boolean, from and to Variant are faster now.


git-svn-id: svn://localhost/gambas/trunk@7440 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-11-02 03:24:44 +00:00
Benoît Minisini
d89262600b [INTERPRETER]
* BUG: Force the interpreter to link with the system thread library, 
  whatever the global linker configuration is.


git-svn-id: svn://localhost/gambas/trunk@6916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-02-26 22:44:20 +00:00
Benoît Minisini
7abbd5e799 [DEVELOPMENT ENVIRONMENT]
* BUG: Don't check conflict on project configuration file if that files 
  does not exist.

[INTERPRETER]
* OPT: Move the string splitting routine in its own file and optimize it.

[INFORMER]
* BUG: Remove unneeded parenthesis on a test.

[GB.CLIPPER]
* BUG: Remove an unused variable.

[GB.DESKTOP]
* BUG: Fix error message in DesktopMime.

[GB.FORM]
* BUG: MaskBox: Raise the Change event after moving the cursor, so that it 
  behaves exactly like a TextBox.

[GB.FORM.MDI]
* NEW: Workspace: Count the number of detached windows so that the "detach 
  current tab" menu entry is disabled when needed.

[GB.GTK]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.GTK3]
* BUG: Window.Utility should work even if the window is mapped now.

[GB.NET.PO3]
* NEW: Add a void constructor to the Pop3Client class for the 
  documentation.


git-svn-id: svn://localhost/gambas/trunk@6285 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-05-23 11:52:04 +00:00
Benoît Minisini
9995913a2f [GB.FORM]
* NEW: TabPanel.Moveable is a new property that makes tab button moveable 
  if set.

[GB.FORM.MDI]
* NEW: Workspace tab buttons are now moveable.


git-svn-id: svn://localhost/gambas/trunk@6239 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-08 22:59:21 +00:00
Tobias Boege
8fbbf67c59 [CONFIGURATION]
* BUG: Revert rev#5679 as it was unneeded.



git-svn-id: svn://localhost/gambas/trunk@5680 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-26 10:20:25 +00:00
Tobias Boege
0bb521e279 [CONFIGURATION]
* BUG: Make {gba,gbc,gbi,gbx}.c depend on trunk_version.h so that they are
  rebuilt when it changes in order to always show the correct version.



git-svn-id: svn://localhost/gambas/trunk@5679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-26 09:14:51 +00:00
Benoît Minisini
1da147d6e5 [CONFIGURATION]
* NEW: The trunk version is now put in the 'config.h' file of the /main 
  source directory. No compilation flag is used anymore.
* NEW: All Gambad executables return the trunk revision number when they 
  are called with the '-V' option.

[GB.WEB]
* BUG: The Request.Fields property now can be read without reading the 
  value of a request field first.


git-svn-id: svn://localhost/gambas/trunk@5674 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 23:03:48 +00:00
Tobias Boege
947c357489 [CONFIGURATION]
* BUG: Execute the svn command for TRUNK_VERSION within the C locale to
  avoid surprises when grepping the output.



git-svn-id: svn://localhost/gambas/trunk@5673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 17:33:17 +00:00
Tobias Boege
2217b3d6f0 [CONFIGURATION]
* BUG: Define the TRUNK_VERSION macro in gbx's Makefile.am which is less
  error-prone and other parts of the build process won't use it anyway.
  automake thinks that the $(shell ...) call shall a variable and warns but
  that can safely be ignored I think.



git-svn-id: svn://localhost/gambas/trunk@5672 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 14:29:01 +00:00
Benoît Minisini
723fca96d0 [INTERPRETER]
* NEW: Move the '.SubCollection' virtual class to the gb.db. component.

[GB.DB]
* NEW: Move the '.SubCollection' virtual class to the gb.db. component.

[GB.FORM]
* BUG: TabPanel: Fix the algorithm ensuring that the current tab is 
  visible.


git-svn-id: svn://localhost/gambas/trunk@5326 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-14 22:24:15 +00:00
Benoît Minisini
1741274a34 [INTERPRETER]
* NEW: Task.Value now raises an error if the background task has failed for
  any reason. Otherwise it normally returns the background task return 
  value.
* BUG: Background tasks do not interfere with the debugger anymore.

[GB.TASK]
* NEW: The component has been moved inside the interpreter.


git-svn-id: svn://localhost/gambas/trunk@5081 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 16:26:53 +00:00
Benoît Minisini
55e313b8f5 [INTERPRETER]
* NEW: Put every '_operators' interface related methods in the same source 
  file.

[GB.GSL]
* NEW: Polynomial _call() special method now is a synonymous of its Eval() 
  method. That way, you can write 'P(X)' to get the value of P(X).


git-svn-id: svn://localhost/gambas/trunk@4933 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 14:35:17 +00:00
Emil Lenngren
3c912da3db [INTERPRETER]
* 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
2012-05-23 19:26:15 +00:00
Benoît Minisini
3b5b881d5e [INTERPRETER]
* NEW: Split System and Application class implementation in tow different
  source files.
* NEW: A trick to watch existing file descriptors: opening ".XX" in direct
  mode, where "XX" is the file descritor value.


git-svn-id: svn://localhost/gambas/trunk@4132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-18 15:21:11 +00:00
Benoît Minisini
4262cd1721 [INTERPRETER]
* NEW: Support for profiling. Not activated.
* NEW: Centralize signal handler management.


git-svn-id: svn://localhost/gambas/trunk@3950 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-07-25 00:50:11 +00:00
Benoît Minisini
cdcf6cdac9 [DEVELOPMENT ENVIRONMENT]
* BUG: Code indentation routine correctly handles structures now.

[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by 
  the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.

[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".

[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
  inside compound controls (ValueBox, ButtonBox, MenuButton).

[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.

[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control 
  proxy that will handle focus, key and mouse events in original control's 
  place.


git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-12-21 14:05:42 +00:00
Benoît Minisini
697a40a046 [INTERPRETER]
* NEW: WRITE writes structures in one shot, by using an internal buffer. 
  This is useful for UDP socket, when the message size is the size of the 
  data sent in one shot.


git-svn-id: svn://localhost/gambas/trunk@3323 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-11-27 00:06:43 +00:00
Benoît Minisini
b0a0c52af0 [INTERPRETER]
* NEW: More work on structure support.
* BUG: Fix optimization in error management.

[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the 
  Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE, 
  which is smaller!
* NEW: Do not compute variable position and size, as it is done by the 
  interpreter anyway.

[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.

[GB.XML.RPC]
* BUG: The component compiles again.



git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-25 11:19:00 +00:00
Benoît Minisini
a2850ebc91 [CONFIGURATION]
* BUG: Do not compile database manager anymore, it has been deprecated.
* BUG: Compile the gb.dbus component.

[INTERPRETER]
* NEW: Pointer is a real datatype now.
* NEW: Static arrays came back. They are now like real array classes, 
  except that they are not resizable.
* NEW: IsPointer() is a new function that tells if an expression is a 
  pointer.
* NEW: All XXXX?() function synonymous were removed. Use the IsXXXX() 
  version instead.
* NEW: Remove now useless source files.

[COMPILER]
* NEW: Static arrays came back, with actually the same syntax as before.

[EXAMPLES]
* BUG: Fix the examples according to the new array syntax.



git-svn-id: svn://localhost/gambas/trunk@2949 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-19 12:43:57 +00:00
Benoît Minisini
09b7390344 [CONFIGURATION]
* BUG: Do not use the "echo" command with options, FreeBSD shell does 
  not understand it.
* BUG: Make the "main" directory compile on Mac OS X.



git-svn-id: svn://localhost/gambas/trunk@2619 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-01-20 01:37:45 +00:00
Benoît Minisini
ac548e8734 [CONFIGURATION]
* BUG: Compile files with maximum optimization correctly.

[DEVELOPMENT ENVIRONMENT]
* BUG: Remove The Form_Close event handler in the FHelp form. It did 
  stupid things indirectly.

[WIKI CGI SCRIPT]
* NEW: Enhancements to support 2.0 and 3.0 descriptions on the same page.

[GB.FORM]
* NEW: Enhance the ColorChooser control.

[GB.FORM.MDI]
* BUG: Fix the Toolbar layout algorithm.

[GB.IMAGE]
* BUG: Image.Colorize() works again.

[GB.IMAGE.EFFECT]
* NEW: This component includes image filtering and effect routines. This is 
  the old gb.image component from Gambas 2. Everything is not working 
  correctly at the moment.

[GB.QT4]
* NEW: Color.LightForeground returns the light foreground color used for
  drawing separators and plain panel borders.
* BUG: Prevent crashes coming from the fact that Qt deletes child widgets 
  before emiting the destroy signal on the parent.


git-svn-id: svn://localhost/gambas/trunk@2296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-09-01 01:14:13 +00:00
Benoît Minisini
9f1feee8ff [CONFIGURATION]
* BUG: Fix the way some source files are compiled with different 
  compilation flags in the interpreter and in the gb.image component.


git-svn-id: svn://localhost/gambas/trunk@2285 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-30 14:16:32 +00:00
Benoît Minisini
96550473f7 [CONFIGURATION]
* NEW: Put custom autoconf macros in the "m4" directory.
* NEW: Drop libltdl.

[GB.IMAGE]
* NEW: Image.Resize() and Image.Mirror() has been put in common there.
* NEW: Image.Flip() has been removed.
* NEW: Image.Copy() and Image.Resize() now supports 24-bits images.

[GB.OPENGL]
* NEW: Depends on gb.image now.
* NEW: Texture images can have any format now.


git-svn-id: svn://localhost/gambas/trunk@2236 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-16 22:07:48 +00:00
Benoît Minisini
8fa23b6351 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little changes in the "cool" buttons and in the project item 
  control.
* BUG: Fix the console embedding flash when the debugger starts.

[INTERPRETER]
* BUG: Fix the Makefile.am file that prevented debugging flags to be sent 
  to the compiler.

[COMPILER]
* BUG: Fix the Makefile.am file that prevented debugging flags to be sent 
  to the compiler.

[GB.FORM]
* OPT: ListContainer.Clear() now locks the container, as there is no need 
  to arrange its children while clearing it.


git-svn-id: svn://localhost/gambas/trunk@2230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-10 10:16:58 +00:00
Benoît Minisini
def84989aa [CONFIGURATION]
* NEW: Start replacing INCLUDE directive by *_CFLAGS in Makefile.am files.

[GB.EVAL]
* BUG: Fix a warning.


git-svn-id: svn://localhost/gambas/trunk@2215 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-04 19:14:17 +00:00
Benoît Minisini
802a28b2d6 [CONFIGURATION]
* NEW: Bytecode version has been incremented again. All projects must be 
  recompiled!

[INTERPRETER]
* NEW: The Quote and UnQuote class were removed, and replaced by three new 
  functions: Quote$(), Shell$() and Unquote$().
* NEW: Html$() is a new function that does HTML quoting.

[GB.QT]
* NEW: The space between a gridview cell picture and its text is now 
  defined by the padding property.

[GB.WEB]
* NEW: The HTML class has been removed. Use the new Html$() subroutine 
  instead.

git-svn-id: svn://localhost/gambas/trunk@1763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-02 00:05:38 +00:00
Benoît Minisini
c91850d055 [INTERPRETER]
* OPT: Optimizations in string allocation.

[GB.DB]
* OPT: Optimization in query making. Storing big blobs inside a field in 
  now about twice faster.

[GB.DB.POSTGRESQL]
* BUG: Fix string quoting for postgresql >= 8.2.


git-svn-id: svn://localhost/gambas/trunk@1687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-11-10 00:18:00 +00:00
Benoît Minisini
3d80d44a4a [WIKI CGI SCRIPT]
* BUG: Some little layout fixes.

[INTERPRETER]
* OPT: Read the user home directory only if the current uid has changed. 
  Otherwise, cache it into memory.
* OPT: String memory management has been optimized.
* OPT: Some little optimizations there and there.
* NEW: A new interpreter option, "-k", that prevents shared library to be
  unloaded until the process terminates. That can be useful when 
  debugging with valgrind.
* OPT: System.Language property was optimized.
* OPT: The gb_error.c file is now compiled with -O3.

[GB.GTK]
* BUG: Disable the management of input methods in TextBox and TextArea
  controls, so that the input methods are not disturbed. Consequently;
  SCIM and Bridged SCIM work again.
* BUG: You can read keyboard events properties in a Form KeyPress or 
  KeyRelease event handler correctly now.



git-svn-id: svn://localhost/gambas/trunk@1199 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-19 14:32:30 +00:00
Laurent Carlier
8526133fd7 [CONFIGURATION]
* NEW: Now GB_COMPONENT_PKG_CONFIG() macro accept an optional warning
  message.
* BUG: Add support for libffi through pkg-config when available.


git-svn-id: svn://localhost/gambas/trunk@1121 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-26 08:23:51 +00:00
Benoît Minisini
a631253a53 [CONFIGURATION]
* NEW: Configuration is aborted if libffi library and headers are not 
  installed.

[WIKI CGI SCRIPT]
* NEW: New section for version-specific documentation.

[INTERPRETER]
* BUG: The gb.info file was wrong: Min() and Max() take only two arguments.
* NEW: New LastEventName property in the Object class that returns the 
  event name used by the last created object.

[GB.DB.FORM]
* NEW: DataControl raises the event of its internal editing control by 
  using the new Object class property defined above.

[GB.GTK]
* BUG: The X and Y properties of the Window class now return the same
  values as gb.qt.

[GB.QT]
* BUG: Prevents a crash when a trayicon is destroyed or hidden during a
  trayicon event handler.


git-svn-id: svn://localhost/gambas/trunk@1090 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-02-21 13:14:16 +00:00
Benoît Minisini
4c02c6d338 ******** Merged /branches/64bits r918:1003 into /trunk
[CONFIGURATION]
* NEW: 64 bits port.

[EXAMPLES]
* BUG: Fixed the AnalogWatch example.

[WIKI CGI SCRIPT]
* NEW: Some little cosmetic changes.

[INTERPRETER]
* NEW: The extern function implementation has been redesigned and is now
  based on libffi, so that it works on 64 bits system. Because of a flaw in
  the compiler design, projects that use the Pointer datatype must be
  recompiled to be used on a 64 bits system. This flaw will be fixed in
  Gambas 3.
* OPT: Put some tables into read-only memory. About 1000 bytes are saved
  for each running interpreter, except the first one.
* BUG: Does not crash anymore if a component cannot be loaded.
* NEW: Spanish translation updated.
* NEW: A new interpreter API for returning a pointer.

[COMPILER]
* BUG: Correctly compiles LONG constants inside code.

[GB.DEBUG]
* BUG: Compiles and links the gb.debug components with the thread
  libraries.

[GB.DB.SQLITE3]
* BUG: Getting the primary index of a table without primary index is safe
  now.

[GB.GTK]
* BUG: Modified the GLib priority of watched descriptors, as the main loop 
  could enter in a loop in which user interface events were not managed.
* BUG: Message boxes use application title without crashing now.

[GB.OPENGL]
* BUG: Disable dead code.

[GB.QT.EXT]
* BUG: TextEdit.TextWidth and TextEdit.TextHeight were not declared as
  read-only properties.

[GB.XML.XSLT]
* BUG: XSLT class is now declared as being not creatable.


git-svn-id: svn://localhost/gambas/trunk@1006 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-17 21:39:26 +00:00
Benoît Minisini
72aabf1920 [CONFIGURATION]
* BUG: Try to detect correctly all X11 linking paramters.

[64 BITS]
* NEW: Start to remove all ambiguous datatypes.

[DEVELOPMENT ENVIRONMENT]
* NEW: The gambas2 project was renamed to gambas3.
* BUG: The completion and signature font sizes are now the default one.
* NEW: Add support for Basque language.

[WIKI CGI SCRIPT]
* BUG: The symbol pages work again, and inheritance between class belonging
  to different components now is taken into account correctly.

[SCRIPTER]
* NEW: The gbs2 project was renamed to gbs3.


git-svn-id: svn://localhost/gambas/trunk@914 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-01-05 14:07:21 +00:00
Benoît Minisini
ba19f3c1dd * Copy https://gambas.svn.sourceforge.net/svnroot/gambas/2.0 to https://gambas.svn.sourceforge.net/svnroot/gambas/gambas
git-svn-id: svn://localhost/gambas/trunk@893 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2007-12-30 16:41:49 +00:00