Commit graph

2336 commits

Author SHA1 Message Date
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
Juan Jose Garcia Ripoll
23d5394a2e When a condition variable is signaled, it does not suffice to wakeup the process: we have to remove it. This is so because two consecutive calls to condition-variable-signal must delete two different processes. 2012-07-13 23:46:14 +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
bf871eba33 The load-compile lock is now recursive 2012-07-08 20:42:17 +02:00
Juan Jose Garcia Ripoll
0d07b0164a When removing a SETF definition, we cannot drop the pair, because it may be used by some compiled code. 2012-07-08 00:12:39 +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
85597eb2f2 Remove unused function ihs_top_function_name() 2012-07-05 22:30:41 +02:00
Juanjo Garcia-Ripoll
ea70e1a682 Added ECL_HANDLER_CASE as a C macro. 2012-07-03 17:29:32 +02:00
Juanjo Garcia-Ripoll
7432a8aa7d si_bind_simple_restarts() should do nothing in ecl_min until everything is loaded 2012-07-03 12:46:39 +02:00
Juanjo Garcia-Ripoll
9d4a68897a Fixed typo in process.d 2012-07-03 11:18:45 +02:00