Matthew Mondor
c5c606cc01
- User-defined heap sizes can now exceed the size of a fixnum on 32-bit
...
Fixes issue #140
- The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
prevented the heap to grow for 64-bit. This now occurs, and a few
other less visible bugs were fixed by restoring consistency to
ECL_FIXNUM_BITS.
2015-09-11 16:54:18 -04:00
Matthew Mondor
8f07cd58d8
The ECL code no longer uses tabulator characters, they were replaced
...
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
7a29be4337
CLOS: remove dead code and conditionals for non-clos builds
...
Builds without CLOS weren't possible for long time, yet a lot of dead
code for non-clos builds was spread across sources. This commit
removes all ifdefs and dead blocks from codebase.
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-01 16:56:17 +02:00
Daniel Kochmański
4d19a27424
cosmetic: untabify
...
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-21 14:38:20 +02:00
Roger Sen
cddb87313d
Updated GC api to remove deprecated methods
2015-04-12 11:47:43 +02:00
Philipp Marek
3e9f5cafe1
Fix declaration that was activated by commit 285eb318,
...
"fixes for the detection of GC_start_call_back"
2014-02-27 20:47:53 +01:00
D Herring
285eb31812
fixes for the detection of GC_start_call_back
...
- HAVE_GC_SET_START_CALLBACK was defined unconditionally
- there was no AC_DEFINE if system_boehm was false
- there was a typo in one usage site of this macro
see 6b754564f1
2014-02-27 09:43:21 +01:00
Juanjo Garcia-Ripoll
f0e31ded05
Fixed declaration of GC_start_call_back
2013-10-06 22:39:11 +02:00
Juanjo Garcia-Ripoll
6b754564f1
GC_start_call_back disappeared in recent versions of the GC library
2013-10-06 17:01:01 +02:00
Juan Jose Garcia Ripoll
99b1e54eb0
GC_allow_register_threads is only provided in recent versions of the collector.
2012-11-01 21:53:55 +01:00
Juan Jose Garcia Ripoll
2e3ca61015
We have to inform the library that we want to register threads
2012-10-30 22:50:12 +01:00
Juanjo Garcia-Ripoll
d6b3e9ff67
Fixed typos (R.J.Alcantara)
2012-08-23 11:24:44 +02:00
Juan Jose Garcia Ripoll
1112bb12fb
Add prototypes for functions in gc/private/gc_priv.h which are needed by ECL.
2012-08-15 20:14:18 +02:00
Juan Jose Garcia Ripoll
14d2960135
Use a spinlock for a thread wait until its process structure is completed by its parent. Rename waiting_for to woken_up for the real application it has.
2012-07-30 22:11:50 +02:00
Juan Jose Garcia Ripoll
469c8a520f
Save the errors caused by the dynamic linker in the codeblock object
2012-07-23 22:48:00 +02:00
Juan Jose Garcia Ripoll
9287a516ff
Yet another iteration for condition variables: now the lock is only released only once the thread has been added to the queue.
2012-07-13 21:35:38 +02:00
Juan Jose Garcia Ripoll
595f3dbe58
The previous implementation of condition variables was wrong: it assumed that the signaling thread did not own the lock.
2012-07-11 00:06:33 +02:00
Juan Jose Garcia Ripoll
e54d9a6173
Rename type_of -> ecl_t_of
2012-07-05 23:07:34 +02:00
Juan Jose Garcia Ripoll
825fc8cbd3
Cnil and Ct are now part of legacy
2012-06-30 23:01:40 +02:00
Juan Jose Garcia-Ripoll
efadef99dc
Prefix the block creation macros, ECL_BLOCK_*, etc
2012-06-30 12:01:44 +02:00
Juan Jose Garcia Ripoll
235a587cc6
Rename sf(), df(), and the bignum suffixes big_size, big_dim and big_limbs. Old versions moved to legacy.h
2012-06-06 21:08:47 +02:00
Juan Jose Garcia Ripoll
64a9168434
CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix
2012-06-06 11:19:55 +02:00
Juan Jose Garcia Ripoll
e950fc51bb
Detect the codepage in Windows.
2012-05-19 10:07:48 +02:00
Juan Jose Garcia Ripoll
ad49125681
Implemented a first prototype of mailbox
2012-04-07 00:55:14 +02:00
Juan Jose Garcia Ripoll
9ee80d0396
Sometimes the environment of a process might be NULL -- in that case, avoid marking.
2012-04-06 11:47:58 +02:00
Juan Jose Garcia Ripoll
a5eb54dd27
Implemented mp:barrier and fixed unixsys.d to use spinlocks and not real locks.
2012-04-06 00:18:29 +02:00
Juan Jose Garcia Ripoll
1a9789f271
Directly access the option values array and only block the process interrupt in ecl_wait_on().
2012-03-29 22:11:29 +02:00
Juan Jose Garcia Ripoll
5b1007c787
Change field names and introduce the spinlock in the lock structure
2012-03-29 17:43:27 +02:00
Juan Jose Garcia Ripoll
4cf99dce0b
Reuse the cons that is used for adding a process to a wait queue.
2012-03-29 15:25:59 +02:00
Juan Jose Garcia Ripoll
bc738ccae8
The lock.waiter field was not marked during GC
2012-03-19 00:59:51 +01:00
Juan Jose Garcia Ripoll
141b2f909b
Implemented a first version of userspace condition variables.
2012-03-17 20:56:58 +01:00
Juan Jose Garcia Ripoll
fad8ebefae
Fixed unbalanced parenthesis in alloc_2.d
2012-03-17 19:34:48 +01:00
Juan Jose Garcia Ripoll
67002663ae
Creation/destruction of global variable identifiers does not require a lock.
2012-02-19 22:56:10 +01:00
Juan Jose Garcia Ripoll
ce73d0a60a
Implemented a wait queue for locks and other events.
2012-02-19 01:23:06 +01:00
Juan Jose Garcia Ripoll
9707940125
The process list is now an array
2012-02-18 20:16:06 +01:00
Juan Jose Garcia Ripoll
0e1d0226b2
Explicitly mark the current thread environment, just in case it was not properly installed in cl_core.processes (this happens when registering external threads).
2012-02-18 10:48:48 +01:00
Juan Jose Garcia Ripoll
d5296f2563
Implement mutexes using CAS. Deactivate condition variables temporarily.
2012-02-12 23:31:29 +01:00
Juan Jose Garcia Ripoll
d2f740b9af
Fixed comment on gather_statistics()
2011-12-30 12:40:06 +01:00
Juan Jose Garcia Ripoll
5a22fc4b36
In the precise garbage collector, removed a reference to an inexistent field hash.lock.
2011-08-28 17:04:43 +02:00
Juan Jose Garcia Ripoll
da11b861eb
Nested TIME calls do not reset the GC counters. This requires reimplementing GC-STATS to have a special input value mean 'resetting the counters'.
2011-02-08 23:54:14 +01:00
Juan Jose Garcia Ripoll
a86bbd3605
Fixed various warnings to allow compiling ECL with CLang
2011-01-23 16:06:47 +01:00
Juan Jose Garcia Ripoll
9a4ae70bed
Read/write lock fixes: typos, C prototypes and a new keyword used in compiled code (J. James)
2011-01-19 22:22:19 +01:00
Juan Jose Garcia Ripoll
be3e31abb0
Fixed marking of read-write locks
2010-12-10 22:53:56 +01:00
Juan Jose Garcia Ripoll
3b92fb53f0
Removed the possibility of building ECL without bignums
2010-11-06 16:42:39 +01:00
Juan Jose Garcia Ripoll
c86c8bd5c0
Move packages to read/write locks
2010-10-24 17:53:44 +02:00
Juan Jose Garcia Ripoll
1e3eb5b62a
Global locking is done through three different locks, cl_core.global_lock, error_lock and package_lock.
2010-10-24 17:53:29 +02:00
Juan Jose Garcia Ripoll
8c42f280c8
Added support for POSIX read/write locks
2010-10-23 23:03:02 +02:00
Juan Jose Garcia Ripoll
6e90253faf
Fixed compiler warnings
2010-08-24 17:32:22 +02:00
Juan Jose Garcia Ripoll
d429aa28f3
windows.h is needed also for mingw in alloc_2.d
2010-08-22 23:15:20 +02:00
Juan Jose Garcia Ripoll
5c63cd8345
When compiling for the Windows API, define ECL_MS_WINDOWS_HOST instead of checking for mingw or _MSC_VER separately (Gabriel Dos Reis)
2010-08-22 22:29:21 +02:00