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 |
|