Commit graph

1352 commits

Author SHA1 Message Date
gambas
78ad25231b JIT compiler support for embedded array and structures variables.
[INTERPRETER]
* NEW: JIT compiler support for embedded array and structures variables.

[GB.JIT]
* NEW: JIT compiler support for embedded array and structures variables.
2021-06-18 04:33:42 +02:00
gambas
78191ced69 Remove the new Size, DataSize and StaticSize properties of the Class class. Use SizeOf() instead of DataSize.
[INTERPRETER]
* NEW: Remove the new Size, DataSize and StaticSize properties of the Class class. Use SizeOf() instead of DataSize.
2021-06-14 22:37:53 +02:00
gambas
0c30eda13f The SizeOf() function now can return the data size of a class or a structure.
[INTERPRETER]
* NEW: The SizeOf() function now can return the data size of a class or a structure.
2021-06-14 22:36:57 +02:00
gambas
d99609f2d9 Add Class.DataSize property, and make Class.Size returns the full size of an object of that class.
[INTERPRETER]
* NEW: Class.Size now returns the full size allocated for an object of that class.
* NEW: Class.DataSize is a new property that returns the size of the dynamic data allocated for that class.
2021-06-14 19:30:15 +02:00
gambas
a7d7135112 Class.Size and Class.StaticSize are two new properties that return the size of the dynamic and static data of a class.
[INTERPRETER]
* NEW: Class.Size and Class.StaticSize are two new properties that return the size of the dynamic and static data of a class.
2021-06-14 19:20:36 +02:00
gambas
3d41de69d4 Fix Eval() and fix error management on disabled fast functions.
[INTERPRETER]
* BUG: Fix Eval().
* BUG: Fix error management on disabled fast functions.
2021-06-12 12:02:39 +02:00
gambas
b24029f722 Object.SizeOf() on embedded arrays now returns the size of the array, and not the size of the temporary object created for accessing the array.
[INTERPRETER]
* NEW: Object.SizeOf() on embedded arrays now returns the size of the array, and not the size of the temporary object created for accessing the array.
2021-06-12 02:02:44 +02:00
gambas
06e2373dd5 Fix memory leaks in debugger expression evaluation routines.
[INTERPRETER]
* BUG: Fix memory leaks in debugger expression evaluation routines.

[GB.DEBUG]
* BUG: Fix memory leaks in debugger expression evaluation routines.
* NEW: The debugger now prints the reference count next to object references.
* BUG: A null pointer is printed as "NULL" now.
2021-06-12 01:39:52 +02:00
gambas
cb8c0a3f43 Implement and fix assignation of structures and embedded arrays.
[INTERPRETER]
* NEW: Implement and fix assignation of structures and embedded arrays.
2021-06-11 19:25:50 +02:00
gambas
e1202bad7e Array.Read() and Array.Write() now check their stream argument instead of crashing if it is NULL.
[INTERPRETER]
* BUG: Array.Read() and Array.Write() now check their stream argument instead of crashing if it is NULL.
2021-06-10 02:27:09 +02:00
gambas
c42a80d20f Don't try to call the "before fork" library handler if the library is not yet loaded.
[INTERPRETER]
* BUG: Don't try to call the "before fork" library handler if the library is not yet loaded.
2021-06-07 23:53:16 +02:00
gambas
49dc9b051b Fix JIT function calls and add Jit.Enabled property.
[INTERPRETER]
* BUG: Calling a JIT function from a class having a ':' in its name works correctly now.
* NEW: Jit.Enabled is a new property that allows to temporarily deactivate the JIT compiler.
2021-06-05 14:29:58 +02:00
gambas
67d266d79b Call an optional fork helper in each loaded component libraries before starting a task.
[INTERPRETER]
* NEW: Call an optional fork helper in each loaded component libraries before starting a task.
2021-06-05 03:11:54 +02:00
gambas
8a8b470c5a 'STATIC' keyword can be used instead of 'DIM' for declaring local static variables.
[COMPILER]
* NEW: 'STATIC' keyword can be used instead of 'DIM' for declaring local static variables.

[INTERPRETER]
* NEW: Support for local static variables.

[GB.DEBUG]
* NEW: Support for local static variables.
2021-06-01 23:12:55 +02:00
gambas
e4dffc8ae8 And, Or and Xor operators now correctly raise an error if they deal with Single or Float values.
[INTERPRETER]
* BUG: And, Or and Xor operators now correctly raise an error if they deal with Single or Float values.
* OPT: And, Or and Xor operators should be a bit faster.
2021-05-31 23:25:03 +02:00
gambas
65eff9e732 The debugger now can watch expressions, and stop when their value changes.
[INTERPRETER]
* NEW: Support for expression watches.

[GB.DEBUG]
* NEW: Add new command for watching expressions, i.e. stopping the debugger when the value of an expressions changes.
2021-05-24 15:34:37 +02:00
gambas
0e78042e07 Initial implementation of class namespaces.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update French translation.
* NEW: Support of the new '.list' file format.
* NEW: Support of the new EXPORT AS syntax.
* NEW: Update error messages.

[COMPILER]
* NEW: EXPORT AS is a new syntax for exporting a class with a specific name that can include a namespace.
* NEW: New header file to start sharing reader code with the 'gb.eval' component.
* NEW: Class names can include a colon. The part before the colon is assumed to be a namespace.

[INTERPRETER]
* NEW: Classes exported in a namespace are now declared both in the global symbol table and in the local symbol table of their component.
* NEW: Class names are now allocated inside the symbol tables, and not in the class objects anymore.

[GB.EVAL]
* NEW: Share some reader code with the compiler.
2021-05-18 02:12:33 +02:00
gambas
ae3ff60eef Fix compilation on BSD.
[INTERPRETER]
* BUG: Fix compilation on BSD systems.

[GB.FORM]
* NEW: Search for icon themes in '/usr/local' for BSD systems.
2021-05-01 00:28:19 +02:00
gambas
f970a37ed8 Fix a string memory leak in error management.
[INTERPRETER]
* BUG: Fix a string memory leak in error management.
2021-04-30 21:01:14 +02:00
gambas
b3cbe0e4a0 Abort JIT compilation before executing the QUIT instruction.
[INTERPRETER]
* BUG: Abort JIT compilation before executing the QUIT instruction.
2021-04-30 00:34:50 +02:00
gambas
4ef3334245 WAIT with a positive value should not block anymore in some case.
[INTERPRETER]
* BUG: WAIT with a positive value should not block anymore in some case.
2021-04-28 23:44:16 +02:00
gambas
77654d842f Add GB.DateFromString() API.
[INTERPRETER]
* NEW: Add GB.DateFromString() API.
2021-04-10 23:05:09 +02:00
gambas
171b46c2f3 Tells the database driver if the connection has already been closed when releasing a query result.
[INTERPRETER]
* NEW: Add an API to know if a native error has already been raised.

[GB.DB]
* NEW: The Result.Release() driver API now tells if the connection has been closed.
* NEW: Raise an error when retrieving the primary key fails, if the driver has not already raised it.
2021-04-10 16:15:34 +02:00
gambas
5fea1897fb Url$() does not encode spaces with the '+' character anymore, as this is deprecated, and works only inside query part of the URL.
[INTERPRETER]
* BUG: Url$() does not encode spaces with the '+' character anymore, as this is deprecated, and works only inside query part of the URL.
2021-04-09 03:41:02 +02:00
Benoît Minisini
14dff78d3f Merge branch 'kill_trunk_h' into 'master'
Detect git/svn version with a macro instead of creating a header file

See merge request gambas/gambas!216
2021-04-03 10:41:04 +00:00
gambas
3ccbc7281e * Backward-compatible change when using date or time separators for date or time elements having none.
[INTERPRETER]
* NEW: If the current localization uses the same separator for all date elements having a separator,
  then the element having no separator will use that same element if the "/" format character
  is used in the Format() function. Same change for the time separators.
2021-04-02 17:07:41 +02:00
Laurent Carlier
82fbda28e8
Detect git/svn version with a macro instead of creating a header file 2021-03-31 09:26:49 +02:00
gambas
8668ed5a69 GB.Call() API now works correctly again when calling static methods.
[INTERPRETER]
* NEW: Task.Kill() method is now a synonymous of Task.Stop().
* BUG: GB.Call() API now works correctly again when calling static methods.
2021-03-09 23:01:22 +01:00
gambas
8e2879f269 Class that inherits an array class now inherits its internal array flag too.
[INTERPRETER]
* BUG: Class that inherits an array class now inherits its internal array flag too.
2021-03-08 16:19:12 +01:00
gambas
d5c59c123c Change the GB_FUNCTION structure so that it stores the index of the method instead of its description pointer.
[INTERPRETER]
* NEW: Change the GB_FUNCTION structure so that it stores the index of the method instead of its description pointer.

[GB.DATA]
* OPT: The new GB_FUNCTION structure allows to reduce the size of the GRAPH_DESC structure.
2021-03-07 23:51:12 +01:00
gambas
1662aec5f2 Add an API to set the read-only flag of an array.
[INTERPRETER]
* NEW: Add an API to set the read-only flag of an array.
2021-03-06 13:17:35 +01:00
gambas
5e6644409e Timers are not inherited anymore by background tasks.
[INTERPRETER]
* NEW: Timers are not inherited anymore by background tasks. They are actually inherited, but immediately disabled the first time they trigger inside the background task.
2021-03-06 13:17:35 +01:00
gambas
e23fca2ecc The enumerator object now can register a free function that is called when the enumeration ends or is aborted.
[INTERPRETER]
* NEW: The enumerator object now can register a free function that is called when the enumeration ends or is aborted.
2021-03-06 13:17:35 +01:00
gambas
d68c687b4e Fix a crash when GB.ReturnNewString() is used with a zero length.
[INTERPRETER]
* BUG: Fix a crash when GB.ReturnNewString() is used with a zero length.
2021-02-23 18:54:34 +01:00
gambas
1609a6c60a Fix automatic conversion of multi-dimensional arrays.
[INTERPRETER]
* BUG: Fix automatic conversion of multi-dimensional arrays.
2021-02-10 19:20:43 +01:00
gambas
5c8f4e1b68 Really fix compilation on 32-bits systems.
[INTERPRETER]
* BUG: Really fix compilation on 32-bits systems.
2021-02-10 15:20:04 +01:00
gambas
8ef319b7cc Fix string array search with special comparisons.
[INTERPRETER]
* BUG: Fix string array search with special comparisons.
2021-02-10 15:18:01 +01:00
gambas
072101e02a Fix compilation on 32-bits systems.
[INTERPRETER]
* BUG: Fix compilation on 32-bits systems.
2021-02-10 14:48:14 +01:00
gambas
e7898916e9 Replace the Array.Sorted property by explicit FindSorted(), ExistSorted()... methods.
[INTERPRETER]
* BUG: Replace the Array.Sorted property by explicit FindSorted(), ExistSorted()... methods.
2021-02-09 23:36:09 +01:00
gambas
0fd80f690d Array.Sorted is a new property that makes the Find() and Exist() methods use a binary search algorithm. In other words, it tells the interpreter that the array is sorted.
[INTERPRETER]
* NEW: Array.Sorted is a new property that makes the Find() and Exist() methods use a binary search algorithm. In other words, it tells the interpreter that the array is sorted.
* BUG: Object[].Find() now correctly takes the optional 'Start' argument in account.
2021-02-09 20:28:58 +01:00
gambas
95572fb040 Fix multi-dimensional arrays management.
[INTERPRETER]
* BUG: Fix multi-dimensional arrays management.
2021-02-09 02:19:39 +01:00
gambas
15135fe60b Raise a memory error if the size of an array element overflows. The maximum size is now 16 MB minus one byte.
[INTERPRETER]
* BUG: Fix initialization of multi-dimensional array.
* NEW: Raise a memory error if the size of an array element overflows. The maximum size is now 16 MB minus one byte.
2021-02-08 22:08:15 +01:00
gambas
991695e493 Array access is now about 15% faster.
[INTERPRETER]
* OPT: Array access is now about 15% faster.
2021-02-08 21:45:29 +01:00
gambas
86981a3c2c Change the internal signature of the implementation of the class "fast methods".
[INTERPRETER]
* NEW: Change the internal signature of the implementation of the class "fast methods".
2021-02-03 18:56:34 +01:00
gambas
1249ebd2f9 System.Cores is a new property that returns the number of cores.
[COMPILER]
* NEW: By default, the compiler now use a number of background tasks equal to the number of cores.

[INTERPRETER]
* NEW: System.Cores is a new property that returns the number of cores.
2021-02-01 01:21:08 +01:00
gambas
ec328f8d95 Remove trailing separators from 'gb.LongDate' date format.
[INTERPRETER]
* BUG: Remove trailing separators from 'gb.LongDate' date format.
2021-01-29 15:35:08 +01:00
gambas
91cf8ef35e Min() and Max() are now faster.
[INTERPRETER]
* OPT: Min() and Max() are now faster.
2021-01-21 14:33:49 +01:00
gambas
1e22281d4d Add GB.String.Split() API. GB.Array.Get() does not check array bounds anymore.
[INTERPRETER]
* NEW: Add GB.String.Split() API.
* OPT: GB.Array.Get() does not check array bounds anymore.
2021-01-21 02:32:06 +01:00
gambas
1c3e02257c Signal handlers are now checked only if requested explicitly by a component.
[INTERPRETER]
* OPT: Signal handlers are now checked only if requested explicitly by a component.

[GB.GTK]
* NEW: Request SIGCHLD handler check.

[GB.GTK3]
* NEW: Request SIGCHLD handler check.
2021-01-21 01:49:38 +01:00
gambas
1e7ea9f50c Check SIGCHLD signal handler at each event loop.
[INTERPRETER]
* BUG: Check SIGCHLD signal handler at each event loop.
2021-01-18 21:40:48 +01:00