Commit graph

3980 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
3689a77759 Remove unused function NEED-TO-PROTECT 2010-05-11 16:12:08 +02:00
Juan Jose Garcia Ripoll
6c245096be In the database of C1FORMs, store information about side effects and use the field C1FORM-SIDE-EFFECTS to speed up computation of those. 2010-05-11 16:04:28 +02:00
Juan Jose Garcia Ripoll
db84803241 Create a database of C1FORM types 2010-05-11 15:08:53 +02:00
Juan Jose Garcia Ripoll
5fcb3c8d22 Split the C1LET optimizer into three reusable components 2010-05-11 14:18:19 +02:00
Juan Jose Garcia Ripoll
f07de591f3 New function GLOBAL-VAR-P 2010-05-11 14:18:04 +02:00
Juan Jose Garcia Ripoll
61d4c99781 Further simplify the C1LET/LET* code 2010-05-11 00:29:13 +02:00
Juan Jose Garcia Ripoll
45daa8e911 Merge the components for C1LET* and C1LET 2010-05-11 00:18:21 +02:00
Juan Jose Garcia Ripoll
d86a9a482f Factor also C1LET* into smaller components 2010-05-11 00:09:25 +02:00
Juan Jose Garcia Ripoll
4c303d8d41 Factor DO-C1LET into smaller components 2010-05-10 23:17:56 +02:00
Juan Jose Garcia Ripoll
b38dd74ce6 C1LET uses C1LOCALLY or C1LET* when the list of bindings is small. 2010-05-10 22:09:18 +02:00
Juan Jose Garcia Ripoll
cfbf245ec7 The compiler checks whether the forms it parses are properlist. 2010-05-10 22:08:48 +02:00
Juan Jose Garcia Ripoll
02e796e425 Briefer C expressions for some compiled type assertions 2010-05-10 20:48:09 +02:00
Juan Jose Garcia Ripoll
1839b8b9c1 Removed some more unsafe expansions. 2010-05-10 17:12:13 +02:00
Juan Jose Garcia Ripoll
2a0baf775a Removed unsafe C**R inline forms and fixed the one for ARRAY-RANK 2010-05-10 17:05:42 +02:00
Juan Jose Garcia Ripoll
3f3cebb235 Add index bound checks to array-row-major-index 2010-05-10 16:00:50 +02:00
Juan Jose Garcia Ripoll
4049bf6392 Simplify ASSERT-TYPE-IF-KNOWN by removing all type filters 2010-05-10 16:00:25 +02:00
Juan Jose Garcia Ripoll
b129433812 Added SATISFIES to the kind of types that TYPE can inline 2010-05-10 16:00:07 +02:00
Juan Jose Garcia Ripoll
b73468d1ef Provide unsafe expansion for CAR/CDR when applied on conses 2010-05-10 15:59:30 +02:00
Juan Jose Garcia Ripoll
8525362b33 Whenever we check the argument types, also check the argument number 2010-05-09 23:54:01 +02:00
Juan Jose Garcia Ripoll
bb29cc908b Changed the way toplevel macros are registered because we have no way to let MACROEXPAND know about the compiler *GLOBAL-MACROS* table 2010-05-09 23:05:13 +02:00
Juan Jose Garcia Ripoll
17790c4770 Remove the function TYPE-FILTER and deal with the whole set of Common Lisp types in the compiler. 2010-05-09 22:20:47 +02:00
Juan Jose Garcia Ripoll
64d4bb38ad Add declarations to arraylib.lsp 2010-05-09 22:19:42 +02:00
Juan Jose Garcia Ripoll
1d4f8ac75d Define a new built-in type ANSI-STREAM in the EXT package and used it in predlib, builtin.lsp and in the Gray streams package 2010-05-09 22:19:22 +02:00
Juan Jose Garcia Ripoll
7b42d8ca7f Imported ASDF 2.0 release candidate into the tree 2010-05-09 22:18:37 +02:00
Juan Jose Garcia Ripoll
a8211519df The optimizers in cmparray distinguish between the policies for type assertions and and those for index bound checking 2010-05-09 20:28:54 +02:00
Juan Jose Garcia Ripoll
d92ba5052d New policy for emitting type assertions 2010-05-09 20:28:24 +02:00
Juan Jose Garcia Ripoll
6ae9d38bdb New type, ARRAY-INDEX, exported from EXT. 2010-05-09 20:28:01 +02:00
Juan Jose Garcia Ripoll
9e46f3d357 Introduce policy aliases, interned some declaration names in EXT and replaced some of those names with more meaningful ones. 2010-05-09 19:41:04 +02:00
Juan Jose Garcia Ripoll
800ac7b46c Remove redundant file new-cmp/cmptype.lsp 2010-05-09 19:15:24 +02:00
Juan Jose Garcia Ripoll
730f37e276 Lower safety levels of inner code in VECTOR-PUSH 2010-05-09 16:17:26 +02:00
Juan Jose Garcia Ripoll
8a72a6fb6e Do not filter types in declarations / proclamations 2010-05-09 16:17:19 +02:00
Juan Jose Garcia Ripoll
c79c014e31 Export declarations into the EXT package and remove debug statements. 2010-05-09 16:16:31 +02:00
Juan Jose Garcia Ripoll
d6f84775fb Optimization and policy levels are now bitmaps 2010-05-09 15:50:22 +02:00
Juan Jose Garcia Ripoll
b04a647c2e Replace cmp-env-optimization with compiler policies. 2010-05-09 09:59:53 +02:00
Juan Jose Garcia Ripoll
a701663b62 Compiler policies are now defined as flags 2010-05-08 13:31:40 +02:00
Juan Jose Garcia Ripoll
fb55d5151d The special form C-INLINE was destructively manipulating its arguments. 2010-05-08 00:35:18 +02:00
Juan Jose Garcia Ripoll
d8abf4d4b7 Use hash tables to store representation type properties. 2010-05-08 00:31:53 +02:00
Juan Jose Garcia Ripoll
f6893139ff Increase the safety settings of slot accessors so that they check the number of arguments they receive. 2010-05-07 23:53:19 +02:00
Juan Jose Garcia Ripoll
1d7ef44ed1 Optimize some internal functions with zero safety. 2010-05-07 23:52:53 +02:00
Juan Jose Garcia Ripoll
2495ae0b8e Toplevel DEFMACRO forms are processed differently and stored by the compiler in a local table. These definitions do not propagate beyond the currently compiled file. 2010-05-07 22:20:14 +02:00
Juan Jose Garcia Ripoll
e02ccb43bc Note the change by which *CMP-ENV* stores optimizations 2010-05-07 22:15:14 +02:00
Juan Jose Garcia Ripoll
fa57208c28 Compile PPRINT with low safety settings, except for the exported functions. 2010-05-07 22:13:55 +02:00
Juan Jose Garcia Ripoll
4ebd664c92 DECLARE was destructively modifying the compiler environment 2010-05-07 22:12:32 +02:00
Juan Jose Garcia Ripoll
b48bc21580 New function to create the root environment for each toplevel form 2010-05-07 21:18:50 +02:00
Juan Jose Garcia Ripoll
4d1d068edf With the new inline behavior we can make ASSERT-TYPE-IF-KNOWN more efficient by use of ecl_unlikely(). 2010-05-07 17:20:49 +02:00
Juan Jose Garcia Ripoll
b8ce2506ed When inlining to save intermediate computations, the temporary variables are created with a C type that matches the value, not the expected destination of that value. 2010-05-07 17:09:51 +02:00
Juan Jose Garcia Ripoll
5dcb1f6ebc New type assertion macros for lambdas, reused by both compilers. 2010-05-07 16:02:42 +02:00
Juan Jose Garcia Ripoll
73db1aacd9 Add a couple more uses of ecl_unlikely and remove a duplicate definition of cs_check in ecl-cmp 2010-05-07 13:11:35 +02:00
Juan Jose Garcia Ripoll
154df113be Removed file new-cmp/cmpopt.lsp whic is now equal to that in cmp/ 2010-05-06 15:45:02 +02:00
Juan Jose Garcia Ripoll
1a5444eb39 Removed debug statements from cmparray.lsp and fixed typo in ARRAY-DIMENSION-ACCESSOR 2010-05-06 08:41:19 +02:00