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
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
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
f00fafe95a
Changed the prototype of functions that take a fixed number of arguments
2009-12-26 15:40:08 +01:00
Juan Jose Garcia Ripoll
09e7b83ad2
DIRECTORY reuses the matching routine in PATHNAME-MATCH-P and avoids stating files whose name does not match the mask.
2009-12-19 23:14:09 +01:00
Juan Jose Garcia Ripoll
4e2a7d1d43
PATHNAME-MATCH-P now uses the same pattern syntax as DIRECTORY
2009-12-19 23:10:33 +01:00
Juan Jose Garcia Ripoll
858cf166a9
DIRECTORY used stat() also on files that did not match the directory masks.
2009-12-17 23:02:57 +01:00
Juan Jose Garcia Ripoll
d72d2685bd
Fixed typo.
2009-12-13 14:38:55 +01:00
Juan Jose Garcia Ripoll
e85ae8d20c
Fixed typo in #ifdef that only affected builds with --enable-long-double
2009-12-13 13:42:56 +01:00
Juan Jose Garcia Ripoll
f96a987819
ecl_to_long_double appeared before ratio_to_long_double
2009-12-13 12:08:53 +01:00
Juan Jose Garcia Ripoll
9a76ab3da3
SI:LOAD-SOURCE opens files in buffered mode (ANSI C streams), to solve a performance problem in some NFS systems.
2009-12-13 11:01:51 +01:00
Juan Jose Garcia Ripoll
7c050399fa
Fixed LOG of negative bignums and of complex numbers with equal positive and negative parts.
2009-12-08 23:26:16 +01:00
Juan Jose Garcia Ripoll
19943c0a22
ECL now has its own rounding routine for converting rationals to floats.
2009-12-05 01:47:41 +01:00
Juan Jose Garcia Ripoll
1e368d12b3
ecl_log1p() might overflow when the input is a bignum.
2009-12-04 00:29:23 +01:00
Juan Jose Garcia Ripoll
5338bcb157
Do not free the input / output buffers to avoid consing and memory fragmentation when reading long strings.
2009-12-02 16:02:58 +01:00