Commit graph

2746 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
c4a538dd27 Fixed typo in queue_signal(): instead of popping a cons from the signal queue, the cons was discarded. 2012-11-27 23:40:11 +01:00
Juan Jose Garcia Ripoll
d674020bd8 '. returned SI:|.| while this is an internal way to construct lists 2012-11-27 22:30:06 +01:00
Juan Jose Garcia Ripoll
04bcc1414d potential_number_p() did not use the fact that potential numbers must contain one digit 2012-11-27 22:03:47 +01:00
Juan Jose Garcia Ripoll
7c278d1573 Replaced instance-ref-safe with clos:safe-instance-ref, which is now part of the core 2012-11-26 23:06:18 +01:00
Juan Jose Garcia Ripoll
d246049e4b The bytecodes optimized function calls to core functions with fixed number of arguments, but they are redefined in some libraries. 2012-11-24 23:49:03 +01:00
Juan Jose Garcia Ripoll
c5d7b4c960 The value of *CURRENT-PROCESS* must be bound by ecl_import_current_thread(). 2012-11-09 22:20:01 +01: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
4a4c2289d7 Allow using a preinstalled copy of libatomic-ops 2012-10-31 21:42:10 +01:00
Juan Jose Garcia Ripoll
e6038ce113 Use the garbage collector routines to get the stack base in a more accurate way 2012-10-31 20:50:30 +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
Juan Jose Garcia Ripoll
cd002426c5 The alias for the C package was not properly created in main.d 2012-10-27 23:27:54 +02:00
Juan Jose Garcia Ripoll
4b19fb3f60 Create new classes for the optimized slot reader/writer methods that ECL creates. 2012-10-14 11:57:41 +02:00
Juan Jose Garcia Ripoll
cf79890004 cl_describe and cl_inspect were not exported 2012-10-14 11:27:16 +02:00
Juan Jose Garcia Ripoll
f6af8d6062 MAKE-LOAD-FORM might only return one value. 2012-10-14 11:08:11 +02:00
Juan Jose Garcia Ripoll
53c7e292bc Accessors optimized using the new slot location table 2012-10-12 12:13:05 +02:00
Juan Jose Garcia Ripoll
5c91e16cc5 CLOS::NAME is not exported because it is prone to clash with other user symbols 2012-10-12 00:05:22 +02:00
Juan Jose Garcia Ripoll
69651e3073 The slot accessors written in C now rely on slot-value to avoid infinite recursion 2012-10-11 23:38:44 +02:00
Juan Jose Garcia Ripoll
b463a2535c The optimized accessors did not update instances 2012-10-11 20:08:25 +02:00
Juan Jose Garcia Ripoll
d5f1e4301b Remove debug statements from error.d 2012-10-10 22:53:52 +02:00
Juan Jose Garcia Ripoll
d905fb69c1 SI:PACKAGE-LOCK did not return the last value. 2012-10-09 22:41:27 +02:00
Juanjo Garcia-Ripoll
831bf2488b Fixed ecl_init_env(): field env->cleanup only exists in multithreaded ECL. 2012-10-08 12:10:09 +02:00
Juan Jose Garcia Ripoll
afafaae325 file.d now signals file-errors and stream-errors when stream operators fail due to the C library 2012-10-02 00:39:24 +02:00
Juan Jose Garcia Ripoll
42f0b2eaa5 Fixed problems in ecl_register_current_thread(). First, allocation of environment and process structures could not proceed when ecl_process_env() did not return a valid environment. Second, we can only call GC_unregister_my_thread() when the thread was not created by the garbage collector itself, for which we must inspect the output of GC_register_my_thread() 2012-09-27 23:06:56 +02:00
Juan Jose Garcia Ripoll
160b29795c The errors when loading a shared library were stored in the wrong field in the codeblock 2012-09-24 22:16:57 +02:00
Juan Jose Garcia Ripoll
554fc892d4 In some circumstances, gethash acting on a weak hash would return corrupt values 2012-09-21 23:02:44 +02:00
Juan Jose Garcia Ripoll
dfc94901c4 delete-file, rename-file, chdir, mkdir and chmod now signal file-errors 2012-09-02 21:46:38 +02:00
Juanjo Garcia-Ripoll
d6b3e9ff67 Fixed typos (R.J.Alcantara) 2012-08-23 11:24:44 +02:00
Juan Jose Garcia Ripoll
215647b3d0 Separate filed in the stream object to store the file column 2012-08-21 22:51:38 +02:00
Juan Jose Garcia Ripoll
3e44d52978 Fixed typo in _ecl_big_set_fixnum() for (long < cl_fixnum) 2012-08-19 22:15:45 +02:00
Juan Jose Garcia Ripoll
806a6553f7 Fix further typos: long_Long instead of long_long 2012-08-19 21:25:43 +02:00
Juan Jose Garcia Ripoll
ca370bf29f New symbol :win64 needed by ffi.d 2012-08-19 20:41:40 +02:00
Juan Jose Garcia Ripoll
0a0f5c4583 winsock_stream_listen() was broken -- it relied on old code for unread_char. 2012-08-18 20:21:06 +02:00
Juan Jose Garcia Ripoll
158f4281f7 Fix bytecode disassembler for OP_GO 2012-08-18 20:19:59 +02:00
Juan Jose Garcia Ripoll
db7c2edf2e wait-for-all-processes must take a :process argument because is also a signal catcher (J. James) 2012-08-15 20:58:04 +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
e68d07fd86 Fixed uninitialized variable to keep compiler happy. 2012-08-15 20:12:00 +02:00
Juan Jose Garcia Ripoll
8bcda88165 Fixed typo in hash.d 2012-08-15 20:11:03 +02:00
Juan Jose Garcia Ripoll
c5789e152c Fixed typo ulong_Long -> ulong_long 2012-08-15 20:10:18 +02:00
Juan Jose Garcia Ripoll
d7a072b4ad Removed unused statements in unixint.d 2012-08-15 20:02:55 +02:00
Juan Jose Garcia Ripoll
c1794d9c38 No need to save errno in fpe_signal_handler because this handler does not return. 2012-08-15 20:02:18 +02:00
Juan Jose Garcia Ripoll
7a4a98d020 The owner of a lock now passes ownership to the first waiting process. 2012-07-30 22:49:56 +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
0bc0dcf523 Remove statements that attempted at prioritizing the waiting queue and a bogus optimization that layed outside the appropriate locks 2012-07-29 22:03:32 +02:00
Juan Jose Garcia Ripoll
7638ca49ab Sacrifice fairness from the wait queue because otherwise we miss events. 2012-07-28 00:11:15 +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
dee2506a28 Avoid using GC_call_with_alloc_lock, because the GC lock is not recursive 2012-07-22 22:13:21 +02:00
Juan Jose Garcia Ripoll
52f6efc2a0 Fixed typo in process.d 2012-07-22 22:12:57 +02:00
Juan Jose Garcia Ripoll
13cb83fa3a Small time hack in main.d to prevent hanging in OS X 2012-07-22 22:12:39 +02:00
Juan Jose Garcia Ripoll
45a4f95da9 dlopen/dlclose must be called with the alloc lock because of a race condition in the GC library 2012-07-22 18:25:25 +02:00
Juan Jose Garcia Ripoll
00b5c5cc00 In the Windows handler for floating point exceptions, exceptions must be cleared up so as to prevent an infinite loop. 2012-07-15 23:44:53 +02:00