Commit graph

3629 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
1f8e6dd3bb Replaced ecl_symbol_slot and ecl_set_symbol with ecl_bds_read and ecl_bds_set. 2010-01-26 23:14:33 +01:00
Juan Jose Garcia Ripoll
265144b1e4 No bds check is needed in compiled functions, since this is included in the ecl_bds_bind routine. 2010-01-26 22:29:53 +01:00
Juan Jose Garcia Ripoll
13bb96b627 In critical circumstances, a newly bound special variable that causes the thread-local stack to grow could result in the variable not being bound. 2010-01-26 14:23:15 +01:00
Juan Jose Garcia Ripoll
dcb68018c3 Changes to make the MSVC port work again, including fixes for EXT:RUN-PROGRAM and EXT:EXTERNAL-PROCESS-WAIT. 2010-01-25 22:58:06 +01:00
Juan Jose Garcia Ripoll
6ef5f702da Fixed typo in ext:external-process-status 2010-01-25 21:26:19 +01:00
Juan Jose Garcia Ripoll
183cdb1d94 Sometimes, in external-process-wait, the value of code was undetermined. 2010-01-25 21:25:56 +01:00
Juan Jose Garcia Ripoll
2a27dc6404 Introduced EXT:EXTERNAL-PROCESS structure. RUN-PROCESS creates that structure. New function EXT:EXTERNAL-PROCESS-WAIT. 2010-01-25 20:51:36 +01:00
Juan Jose Garcia Ripoll
a2b6887e83 Missing argument for a warning 2010-01-25 20:50:31 +01:00
Juan Jose Garcia Ripoll
65c1dbb06f Missing arguments to several warnings (S. Bourakev). 2010-01-25 09:09:10 +01:00
Juan Jose Garcia Ripoll
4e35a718e5 MP:PROCESS-ENABLE did not return the process object. 2010-01-24 23:39:20 +01:00
Juan Jose Garcia Ripoll
63393f7c40 EXT:RUN-PROGRAM now accepts an :ENVIRON argument. 2010-01-24 23:09:28 +01:00
Juan Jose Garcia Ripoll
65cf8c51f6 New function EXT:ENVIRON 2010-01-24 22:37:43 +01:00
Juan Jose Garcia Ripoll
eb25ef6f63 Use inline functions also for the single threaded version 2010-01-24 09:49:36 +01:00
Juan Jose Garcia Ripoll
33d07a52bb The code for binding special variables is now in inline functions. 2010-01-23 23:45:21 +01:00
Juan Jose Garcia Ripoll
943d65ec12 In alloc_2.d, when recycling a symbol binding index we cannot cons inside
a THREAD_OP_LOCK() region because this may be interrupted by a garbage
collection process - instead perform the allocation outside and then
do an atomic update of the indices list.
2010-01-23 23:29:57 +01:00
Juan Jose Garcia Ripoll
7e89c249ab Inline ecl_bds_push() and simplify ecl_symbol_slot(), which will never be called on Cnil. 2010-01-23 01:35:17 +01:00
Juan Jose Garcia Ripoll
b3a5eff059 Remove unused variables in stacks.d 2010-01-22 19:37:57 +01:00
Juan Jose Garcia Ripoll
2d8dbea456 Save another few bytes by redefining ecl_bds_overflow() to return a pointer. 2010-01-22 19:15:52 +01:00
Juan Jose Garcia Ripoll
c97757467f Another variant in which the memory address of the bindings and their size is stored in the environment itself. 2010-01-22 19:07:18 +01:00
Juan Jose Garcia Ripoll
39e4b6826f Remove one test from the implementation of ecl_bds_bind(). 2010-01-22 18:47:55 +01:00
Juan Jose Garcia Ripoll
058d247bd4 Special variable bindings using a thread-local array instead of a hash table. 2010-01-22 17:47:10 +01:00
Juan Jose Garcia Ripoll
3ee4c8ea15 Some comments on thread_entry_point(). 2010-01-21 15:56:44 +01:00
Juan Jose Garcia Ripoll
84f90aa585 The environment of a thread is now allocated and managed by the parent thread. This decreases the time that passes since a thread is started till it is interruptible. 2010-01-21 15:39:41 +01:00
Juan Jose Garcia Ripoll
8382e4e800 ecl_init_env() split into ecl_init_env and ecl_cs_set_org() so that the former does not need to be executed in the same thread where it is going to be used. 2010-01-21 14:31:56 +01:00
Juan Jose Garcia Ripoll
24138f8fd9 New macro _hash_eq 2010-01-20 22:55:53 +01:00
Juan Jose Garcia Ripoll
192d04aeea Reorganize the code for variable binding for better caching. 2010-01-20 22:55:14 +01:00
Juan Jose Garcia Ripoll
5bbd889905 When a process is not initialized, refuse to accept signals. 2010-01-20 22:54:38 +01:00
Juan Jose Garcia Ripoll
942e37bc8d Do not attempt interrupting a process while it is being initialized. 2010-01-20 22:54:23 +01:00
Juan Jose Garcia Ripoll
7e6b13cfa3 The previous implementation of ecl_bds_unwind1() did not restore the global variable binding. 2010-01-20 20:34:31 +01:00
Juan Jose Garcia Ripoll
3c27406485 Implemented the 'set' slot in hash tables and inlined the code for assigning to the variable hash table in stacks.d 2010-01-20 18:11:41 +01:00
Juan Jose Garcia Ripoll
b91ca1c340 _ecl_sethash() used everywhere where locks are not required in ECL 2010-01-20 17:38:08 +01:00
Juan Jose Garcia Ripoll
e2ffd24025 Implemented _ecl_sethash() and eliminated the second loop run due to add_new_to_hash. 2010-01-20 17:19:30 +01:00
Juan Jose Garcia Ripoll
1aaeb3876e New field hash.limit stores the threshold in integer form. 2010-01-20 16:44:44 +01:00
Juan Jose Garcia Ripoll
2bf650d523 Hash tables now carry a slot with the 'gethash' function in it. 2010-01-20 15:22:12 +01:00
Juan Jose Garcia Ripoll
44efbeb285 Package hash table creation is now handled from hash.d 2010-01-20 15:15:55 +01:00
Juan Jose Garcia Ripoll
d1521c1bcd Renaming of hash table internal function ecl_search_hash -> _ecl_gethash 2010-01-20 15:12:21 +01:00
Juan Jose Garcia Ripoll
fed68e10e5 Speed up hash table access by specialized lookup routines. 2010-01-20 13:40:57 +01:00
Juan Jose Garcia Ripoll
ac31cd9f10 Add a missing change from previous commit. 2010-01-20 09:04:19 +01:00
Juan Jose Garcia Ripoll
f50ffce152 The interrupt servicing thread must explicitely include the interrupt signal among the ones it captures. Otherwise it will never be interrupted itself. 2010-01-19 14:29:01 +01:00
Juan Jose Garcia Ripoll
29d472ea59 The output values of a process or thread are now collected in the process object and returned by PROCESS-JOIN. 2010-01-18 23:35:51 +01:00
Juan Jose Garcia Ripoll
edd09ea7e5 PROCESS-JOIN would fail when called while a thread was being started. 2010-01-18 23:22:06 +01:00
Juan Jose Garcia Ripoll
5e9c80942c PROCES-JOIN was exported from the wrong package. 2010-01-18 21:52:19 +01:00
Juan Jose Garcia Ripoll
53e1861cc9 Wrong number of arguments for VECTOR-POP. 2010-01-17 20:24:32 +01:00
Juan Jose Garcia Ripoll
d240a33514 Wrong number of arguments set for PRIN{C,1}-TO-STRING 2010-01-17 19:34:08 +01:00
Juan Jose Garcia Ripoll
9bbfb25338 Upgrade release number. 2010-01-17 19:14:24 +01:00
Juan Jose Garcia Ripoll
306d7926e1 Merge branch 'master' of /Users/jjgarcia/src/ecl 2010-01-16 11:32:18 +01:00
Juan Jose Garcia Ripoll
56860bdffc Do not abort when the hardcoded library directory is not found -- neded by standalone executables. 2010-01-15 21:16:49 +01:00
Juan Jose Garcia Ripoll
49082430c8 Make the code in C2EMIT-CLOSURE-SCAN bit more clear. 2010-01-03 11:44:09 +01:00
Juan Jose Garcia Ripoll
ba1842f1e2 Fall back to a simpler C1IF to ensure correctness until ECL works. 2010-01-02 15:27:56 +01:00
Juan Jose Garcia Ripoll
d150cbd7b0 In new-cmp/cmpif.lsp, processing of IF forms with constant conditions did not work because the NIL case could be confused with the absence of c1forms. 2010-01-02 15:00:07 +01:00