Commit graph

220 commits

Author SHA1 Message Date
Kris Katterjohn
5095097a6a Wrap variable definitions in #ifdef's to avoid unused-variable warnings 2017-03-14 15:53:32 -05:00
Daniel Kochmański
2287b02b53 gc-stats: always return correct number of bytes consed 2016-12-04 15:53:50 +01:00
Daniel Kochmański
b51576c90d cosmetic: comment wrap 2016-12-04 15:19:53 +01:00
Daniel Kochmański
426ab1f172 gc-stats: handle unsinged int overflow correctly 2016-12-04 14:48:26 +01:00
Daniel Kochmański
e4e3bc64bc cosmetic: comment wrap 2016-12-04 14:47:59 +01:00
Daniel Kochmański
c1067620a7 Improve rwlock built-in class recognition
Fixes #303.
2016-11-10 19:42:52 +01:00
Daniel Kochmański
0f6793aab4 alloc_2: wrapped_finalizer: fix no-thread builds 2016-09-06 18:01:04 +02:00
Daniel Kochmański
5024c38e33 cosmetic: indent 2016-09-06 18:00:31 +02:00
Fabrizio Fabbri
28a0f957fe Use the project comment style. 2016-08-29 03:55:16 -04:00
Fabrizio Fabbri
1e5e86c1d2 Fix on several minor issue on thread.
- fix #262 to manage CTRL+c on Win.
- unregistered thread are left registered and enviroment not cleanup.
-  manage when a finalizer is invoked before a valid enviroment is available.
2016-08-23 15:28:23 -04:00
Daniel Kochmański
749b97d06c indent: indent files according to GNU standard
(a-c)

doc: list files
2016-05-05 13:40:27 +02:00
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