Commit graph

2811 commits

Author SHA1 Message Date
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
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
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
Juan Jose Garcia Ripoll
c1cef0d157 Use the new function call model for sequences. 2009-02-16 12:18:02 +01:00
Juan Jose Garcia Ripoll
0aa9ec14cd Fixed typo 2009-02-16 12:17:42 +01:00
Juan Jose Garcia Ripoll
a475d5bcba Simplified c2call-global by taking the type propagation for (SETF AREF)/AREF into separate functions 2009-02-15 23:53:03 +01:00
Juan Jose Garcia Ripoll
21ab17c30b During compilation of function calls, the NARG parameter is useless, since it can be calculated. 2009-02-15 20:05:53 +01:00
Juan Jose Garcia Ripoll
6d1fafc608 Minor correction in comments. 2009-02-15 19:48:07 +01:00
Juan Jose Garcia Ripoll
ed0a29b5b9 Simplified C2FUNCALL eliminating unused code 2009-02-15 19:40:17 +01:00
Juan Jose Garcia Ripoll
b331ae3523 FUNCTION forms have output type FUNCTION 2009-02-15 19:39:47 +01:00
Juan Jose Garcia Ripoll
fffb57cc2a Small comment on call-global c1forms 2009-02-15 19:39:23 +01:00
Juan Jose Garcia Ripoll
afdd5b9831 Small typo. 2009-02-15 18:58:23 +01:00