Commit graph

5038 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
3da7384797 The call to ecl_endp() ensures that the argument is a list. 2009-02-28 13:41:35 +01:00
Juan Jose Garcia Ripoll
e758c7591a We can replace ecl_endp with Null because the concatenated stream list is a proper list. 2009-02-28 13:40:09 +01:00
Juan Jose Garcia Ripoll
094f345b61 We can omit the use of ecl_endp() because the broadcast stream list is a proper list. 2009-02-28 13:39:03 +01:00
Juan Jose Garcia Ripoll
039c4e5333 Speedup in sequence functions: replacement of ecl_endp() by optimized checks. 2009-02-28 13:36:43 +01:00
Juan Jose Garcia Ripoll
322307272c Slight optimization of nreconc, removing a redundant check for Null. 2009-02-28 13:36:14 +01:00
Juan Jose Garcia Ripoll
12c93e87b9 Further optimizations of MAP* by replacing ecl_endp with faster checks. 2009-02-28 13:21:42 +01:00
Juan Jose Garcia Ripoll
529e12a1ed Replaced some stack frame functions by internal and faster macros. 2009-02-28 13:14:41 +01:00
Juan Jose Garcia Ripoll
d019afbb72 Replace CAR/CDR by ECL_CONS_CAR/CDR where we know that argument is a CONS 2009-02-28 00:24:21 +01:00
Juan Jose Garcia Ripoll
702dafcf94 Use bytecodes to undo the special bindings before exiting an interpreted function, not by keeping a copy of the bds_top pointer. 2009-02-27 23:40:39 +01:00
Juan Jose Garcia Ripoll
44190f4390 We cannot dealloc the interpreter stack, because there might be references from varargs. 2009-02-27 22:34:40 +01:00
Juan Jose Garcia Ripoll
d9919fa312 Ignore TYPE declarations that contain a function type, even if it is a DEFTYPE'd one. 2009-02-27 20:05:40 +01:00
Juan Jose Garcia Ripoll
1fb1d1a214 SETENV ensures that strings are null terminated. 2009-02-26 12:07:20 +01:00
Juan Jose Garcia Ripoll
d71a16daac Remove an unused argument from ecl_interpret() 2009-02-26 00:14:07 +01:00
Juan Jose Garcia Ripoll
9ea37f0266 ecl_stack_pop_n is no longer used. Simplified different parts of the stack frames and interpreter. 2009-02-25 23:51:35 +01:00
Juan Jose Garcia Ripoll
fef38353bf The bytecodes compiler now passes around an environment pointer, instead of calling ecl_process_env() so often. 2009-02-25 23:06:01 +01:00
Juan Jose Garcia Ripoll
4ce5ca13ec Removed unused declaration. 2009-02-25 20:53:49 +01:00
Juan Jose Garcia Ripoll
22b070d0ac Removed ecl_stack_{push,pop,set_index}. Fixed ECL_STACK_SET_INDEX. 2009-02-25 20:52:48 +01:00
Juan Jose Garcia Ripoll
4ffa8552ae The ECL_STACK* macros were not hygienic and caused problems due to the duplication of the 'env' name. 2009-02-25 20:15:33 +01:00
Juan Jose Garcia Ripoll
8fe85d2e7c Introduce ECL_STACK_INDEX macro 2009-02-25 19:11:28 +01:00
Juan Jose Garcia Ripoll
80127a2f01 Exported macros for manipulating the lisp stack 2009-02-24 23:23:57 +01:00
Juan Jose Garcia Ripoll
cd8ad462ae Ensure that the CLX directory exists before creating module.lsp 2009-02-24 16:49:41 +01:00
Juan Jose Garcia Ripoll
314e849c6a Remove unused definitions. Fix io_file_read/write. 2009-02-24 15:07:09 +01:00
Juan Jose Garcia Ripoll
9f0c747fea Use default display when HOST = NIL 2009-02-24 15:06:35 +01:00
Juan Jose Garcia Ripoll
b119ac598f A missing conditional caused buffer-read-default to be defined twice. 2009-02-24 15:05:54 +01:00
Juan Jose Garcia Ripoll
af158f819a CLX registers itself with *MODULES* and requires SOCKETS. Split SOCKETS's package definition into a different file so that CLX can load it before being compiled. 2009-02-24 12:45:54 +01:00
Juan Jose Garcia Ripoll
402e59f82f New decimal constants ECL_VERSION_NUMBER (C/C++) and EXT:+ECL-VERSION-NUMBER+ (Lisp) 2009-02-23 21:45:02 +01:00
Juan Jose Garcia Ripoll
16849b5eb3 In C++ it is not possible to forward-declare a static array. We thus have to change the code for building the compiler_cfuns[] array in compiled code. 2009-02-23 14:13:53 +01:00
Juan Jose Garcia Ripoll
21747e54da Missing definition for cl_env_copy. 2009-02-23 11:58:14 +01:00
Juan Jose Garcia Ripoll
c81e2080ec PTHREAD_*_NP are also missing from NetBSD. 2009-02-23 11:35:33 +01:00
Juan Jose Garcia Ripoll
464c440a59 The allocation of the first environment will not succeed if we rely on
ecl_alloc(), because it needs a working cl_env_p to block interrupts.
2009-02-23 10:56:07 +01:00
Juan Jose Garcia Ripoll
12b0c0a70c We have to set the proces environment _before_ allocating the process
object. Otherwise the code for interrupt handling will not work.
2009-02-23 10:48:31 +01:00
Juan Jose Garcia Ripoll
18767d76ae Slight optimizations in the code for lisp stacks + values 2009-02-22 00:39:51 +01:00
Juan Jose Garcia Ripoll
17a3ba8acc Removed unused function. 2009-02-21 23:29:42 +01:00
Juan Jose Garcia Ripoll
c6fe981f87 The generation of new block ids is now thread safe. 2009-02-21 23:26:42 +01:00
Juan Jose Garcia Ripoll
8004e7e027 Removed the entry_fixed pointer because we are not using it. 2009-02-21 22:51:36 +01:00
Juan Jose Garcia Ripoll
2923753c44 Slight optimizations of C code for compiler.d 2009-02-21 22:31:50 +01:00
Juan Jose Garcia Ripoll
246e562141 Fixed the optimization of parsing &allow-other-keys. 2009-02-21 22:31:30 +01:00
Juan Jose Garcia Ripoll
1215375d0a Slight optimizations of C code for OP_POPREST/PUSHKEYS 2009-02-21 00:52:44 +01:00
Juan Jose Garcia Ripoll
03ed288a85 New bytecodes for parsing the arguments of an interpreted function. 2009-02-21 00:07:16 +01:00
Juan Jose Garcia Ripoll
69bdd4f3ff Slight simplification of the ecl_stack_frame structure, with changes associated to interpreter, gfun and apply 2009-02-19 00:04:31 +01:00
Juan Jose Garcia Ripoll
9fb6a858d2 Rule for creating assembly files. 2009-02-18 21:11:33 +01:00
Juan Jose Garcia Ripoll
44d23d1cdf Factor the code for creating stack frames from varargs. Removed some arguments from ecl_apply_from_stack_frame and _ecl_standard_dispatch. 2009-02-17 23:40:27 +01:00
Juan Jose Garcia Ripoll
a2d2add97f Missing bits from the previous fix for DEFSTRUCT 2009-02-17 21:21:15 +01:00
Juan Jose Garcia Ripoll
1dd8f4247e DEFSTRUCT :INCLUDE did not work with read only slots. 2009-02-17 21:10:02 +01:00
Juan Jose Garcia Ripoll
f927dbd2f8 Remove unneeded level of nesting in LIST-MERGE-SORT. MERGE uses now fast function calls and saves a couple of calls to KEY and ELT. 2009-02-16 16:56:29 +01:00
Juan Jose Garcia Ripoll
1e7935ea46 Reimplemented seqlib.lsp using macros that speed up calling predicats and key functions. 2009-02-16 16:04:36 +01:00
Juan Jose Garcia Ripoll
9ccd82b179 Declarations for speed 2009-02-16 16:04:12 +01:00
Juan Jose Garcia Ripoll
77907601b0 SEARCH-KEYWORD is used very often, add it to the list of C exported functions 2009-02-16 16:03:58 +01:00
Juan Jose Garcia Ripoll
a4b7fca01b Removed debug statement 2009-02-16 16:03:25 +01:00
Juan Jose Garcia Ripoll
83e6a0f77e Simplified the C code for fast function calls. 2009-02-16 12:44:28 +01:00