Commit graph

4047 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
2f36c1901a The structure of C2FMLA-AND is imposed onto C2FMLA-OR 2010-05-17 17:30:42 +02:00
Juan Jose Garcia Ripoll
8787e482ba C2FMLA-AND reduced to the simplest form. 2010-05-17 17:20:20 +02:00
Juan Jose Garcia Ripoll
59cffab21a Replace trivial DOLIST loops with MAPC in FMLA-AND 2010-05-17 17:04:34 +02:00
Juan Jose Garcia Ripoll
4136fa9fd1 Split FMLA-AND into butlast / last arguments 2010-05-17 16:41:22 +02:00
Juan Jose Garcia Ripoll
367c6783cd Minor simplification in C2FMLA-AND 2010-05-17 16:30:30 +02:00
Juan Jose Garcia Ripoll
d5ce5a2c25 Introduced a new macro, WITH-EXIT-LABEL, for simplifying the FMLA* forms 2010-05-17 16:24:52 +02:00
Juan Jose Garcia Ripoll
7f7027b50f Split the arguments of FMLA-OR into butlast/last pieces 2010-05-17 16:06:41 +02:00
Juan Jose Garcia Ripoll
0484ecd365 Removed unused function C1FMLA 2010-05-17 15:32:52 +02:00
Juan Jose Garcia Ripoll
08bc590b98 C1/C2 phases for OR operator 2010-05-17 15:26:43 +02:00
Juan Jose Garcia Ripoll
7923d1c2d9 Simplify C1ARGS* 2010-05-17 15:26:04 +02:00
Juan Jose Garcia Ripoll
71946d2f3b LOC-REPRESENTATION-TYPE now understands also jumps 2010-05-16 20:33:11 +02:00
Juan Jose Garcia Ripoll
e3c5d46942 Added C1/C2 phases for the NOT operator 2010-05-16 20:32:51 +02:00
Juan Jose Garcia Ripoll
e68fc68da5 Remove code in CJT/CJF which is redundant with optimizations in set-jump-true/false 2010-05-16 19:15:49 +02:00
Juan Jose Garcia Ripoll
7b550ac31e Add inactive code for FMLA-OR/NOT and fix a problem with C1FORM arguments in CJT/CJF/FMLA-AND, etc 2010-05-16 18:55:34 +02:00
Juan Jose Garcia Ripoll
a1fdddcf8f Added C1/C2 phases for AND/OR 2010-05-16 17:33:21 +02:00
Juan Jose Garcia Ripoll
dbde7df2b7 Add SIGNAL-TYPE-ERROR also to symbols_list2 2010-05-16 17:31:55 +02:00
Juan Jose Garcia Ripoll
ae8090a67f When traversing a C1FORM, pay attention to non-cons, non-c1form objects 2010-05-16 17:31:22 +02:00
Juan Jose Garcia Ripoll
7252dbe3ae More meaningful internal error messages in cmpexit 2010-05-16 17:30:22 +02:00
Juan Jose Garcia Ripoll
c0999b43d2 In set-jump-true/false, optimize away constant locations 2010-05-15 21:55:13 +02:00
Juan Jose Garcia Ripoll
a03830bf04 Add yet inactive expansion of MEMBER for constant, short lists 2010-05-15 21:54:53 +02:00
Juan Jose Garcia Ripoll
c90d6ed6bb In cmploc/cmpwt, we are now capable of determining the constant value of a location 2010-05-15 21:54:27 +02:00
Juan Jose Garcia Ripoll
9ede271245 In cmpct.lsp, locations VV were nested (VV (VV index)). 2010-05-15 21:52:47 +02:00
Juan Jose Garcia Ripoll
4166a7d75f Remove debug statements from cmpopt-constant.lsp 2010-05-15 21:01:21 +02:00
Juan Jose Garcia Ripoll
d50ddfcee3 Fixed typo in proclamation code 2010-05-15 21:00:58 +02:00
Juan Jose Garcia Ripoll
4614a040d4 New function for detecting arbitrary constant expressions. 2010-05-15 20:28:42 +02:00
Juan Jose Garcia Ripoll
21113c913a In IF statements, optimize away constant expressions. 2010-05-15 20:04:21 +02:00
Juan Jose Garcia Ripoll
b53395301f The IF form analyzer performs macroexpansion of the predicates to better extract information from them 2010-05-15 17:48:25 +02:00
Juan Jose Garcia Ripoll
554c43ab67 When in unsafe mode, do not use the checked functions to perform C<->Lisp type coercions 2010-05-15 16:56:53 +02:00
Juan Jose Garcia Ripoll
371ca30dbb Safer and more efficient version of seq-iterator 'methods' 2010-05-15 16:48:48 +02:00
Juan Jose Garcia Ripoll
f942da1533 Fix proclamation for LENGTH acting on vectors 2010-05-15 16:48:24 +02:00
Juan Jose Garcia Ripoll
5b53ee01df New function SI:SIGNAL-TYPE-ERROR 2010-05-15 16:48:10 +02:00
Juan Jose Garcia Ripoll
6c8926c1bf Unused compiler macros for seq-iterator methods 2010-05-15 16:47:40 +02:00
Juan Jose Garcia Ripoll
761f144872 Inline expander for FIND 2010-05-14 18:32:21 +02:00
Juan Jose Garcia Ripoll
ef6c5dab48 The compiler macro for ASSOC also works for general test/keyword arguments. 2010-05-14 16:49:38 +02:00
Juan Jose Garcia Ripoll
3681bcd018 The compiler macro for MEMBER also works for general test/keyword arguments. 2010-05-14 16:30:21 +02:00
Juan Jose Garcia Ripoll
fe38ab3039 Macros for unsafe car/cdr access 2010-05-14 16:30:18 +02:00
Juan Jose Garcia Ripoll
ad4d31cde9 New macro, RECKLESS, for unsafe operations 2010-05-14 16:08:27 +02:00
Juan Jose Garcia Ripoll
0389fe11be When inlining, set the environment to that of the inlined form, to properly capture things like speed / safety optimizations. 2010-05-14 16:08:03 +02:00
Juan Jose Garcia Ripoll
744818d8e9 Commit file cmpopt-seq.lsp missing from previous uploads 2010-05-14 09:26:44 +02:00
Juan Jose Garcia Ripoll
5f1b459879 Move ASSOC from a C1 OPTIMIZED form to a compiler macro 2010-05-13 23:03:53 +02:00
Juan Jose Garcia Ripoll
34233787c6 Replaced the C1 special form for MEMBER with a compiler macro. 2010-05-13 22:34:04 +02:00
Juan Jose Garcia Ripoll
ebefa89d55 Added a compiler macro for optional type checks 2010-05-13 22:32:19 +02:00
Juan Jose Garcia Ripoll
18928c0b1f Activate the compiler macro expansion for TYPEP 2010-05-13 21:08:15 +02:00
Juan Jose Garcia Ripoll
892870a9d8 Proclaim SI:COERCE-TO-VECTOR to save the cl_narg argument 2010-05-13 21:08:04 +02:00
Juan Jose Garcia Ripoll
01574b68bb Replace the C1 processor for COERCE with a compiler macro that is now activated, and in this case add a new coercion function for simple arrays. 2010-05-13 20:45:42 +02:00
Juan Jose Garcia Ripoll
807a1c3417 More informative BABOON error messages in cmpenv-api.lsp 2010-05-13 19:20:23 +02:00
Juan Jose Garcia Ripoll
2dfa8d2dff Replace C1RPLACA with a compiler macro 2010-05-13 19:04:37 +02:00
Juan Jose Garcia Ripoll
e15a517fc3 Misuse of C2EXPR* in the expander for VALUES 2010-05-13 18:18:56 +02:00
Juan Jose Garcia Ripoll
2e3b7b0d6b When replacing variables with their values uses VALUES to extract the first value 2010-05-13 18:18:29 +02:00
Juan Jose Garcia Ripoll
feafc6bd77 (VALUES x) can be optimized whenever the destination is not RETURN/VALUES 2010-05-13 17:55:30 +02:00