Commit graph

2833 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
b62f153ed3 Merge in the latest changes from master branch 2009-03-23 21:51:32 +01:00
Juan Jose Garcia Ripoll
174b95cd49 The interpreter environment format changed and guess_environment() was not adapted 2009-03-23 20:10:16 +01:00
Juan Jose Garcia Ripoll
3835a482f8 Do not use closures to allow debugging c1let/c1let* 2009-03-23 20:09:42 +01:00
Juan Jose Garcia Ripoll
1c214bf454 Inline MAKE-ARRAY in terms of MAKE-PURE-ARRAY and FILL-ARRAY-WITH-ELT/SEQ, and output the array type. 2009-03-07 11:53:06 +01:00
Juan Jose Garcia Ripoll
acda56e602 Export C name for FILL-ARRAY-WITH-SEQ 2009-03-07 11:52:31 +01:00
Juan Jose Garcia Ripoll
51c98fd087 FILL reimplemented using FILL-ARRAY-WITH-ELT. 2009-03-07 11:51:44 +01:00
Juan Jose Garcia Ripoll
0a4ae4ebd2 New functions FILL-ARRAY-WITH-ELT and FILL-ARRAY-WITH-SEQ used to inline MAKE-ARRAY and to speed it up. 2009-03-07 11:51:29 +01:00
Juan Jose Garcia Ripoll
d4c9460c32 Fix the criteria for using inlined expansions from sysfun.lsp. 2009-03-06 23:51:17 +01:00
Juan Jose Garcia Ripoll
e282487f0d Added support for long long and unsigned long, and [u]intN_t in the FFI. 2009-03-02 23:56:39 +01:00
Juan Jose Garcia Ripoll
fb7ef0c3b4 No need to divide when there is no common denominator 2009-03-01 23:19:47 +01:00
Juan Jose Garcia Ripoll
0490d915be Just in case we get more than 64 bit words 2009-03-01 23:19:26 +01:00
Juan Jose Garcia Ripoll
157120712e The functions for ecl_make_[u]int64 are only needed for platforms with 32 bit words. 2009-03-01 21:28:24 +01:00
Juan Jose Garcia Ripoll
ba9540e220 New specialized array types for 16, 32 and 64 bits large integers 2009-03-01 20:36:08 +01:00
Juan Jose Garcia Ripoll
e16ff91913 Detect and provide conversion routines for C specialized integer types ([u]int{8,16,32,64}_t) 2009-03-01 15:41:36 +01:00
Juan Jose Garcia Ripoll
40f2552ffb Replace ecl_endp() by a single list check and Null check. 2009-02-28 13:42:13 +01:00
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
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