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 |
|
Juan Jose Garcia Ripoll
|
aca68e9fc6
|
Improve the code generated for VALUES eliminating the intermediate variable when there is only one output value
|
2010-05-13 17:24:27 +02:00 |
|
Juan Jose Garcia Ripoll
|
7c92b0fc8c
|
The function C1FORM-VALUES-NUMBER is now factored and grouped with the other C1FORM functions in cmpform.
|
2010-05-13 17:03:28 +02:00 |
|
Juan Jose Garcia Ripoll
|
82898a7e0f
|
We can also replace variables with values that are 'pure' or unmodified by the forms after it
|
2010-05-13 14:12:15 +02:00 |
|
Juan Jose Garcia Ripoll
|
02bdb9df00
|
The inliner for VALUES forms was not used
|
2010-05-13 13:38:04 +02:00 |
|
Juan Jose Garcia Ripoll
|
edfdf47d22
|
BABOON ignored the actual error message from the compiler
|
2010-05-13 13:37:44 +02:00 |
|
Juan Jose Garcia Ripoll
|
eed2ba9c05
|
A LET/LET* with special variables is no longer considered to have side effects by default
|
2010-05-13 11:31:01 +02:00 |
|
Juan Jose Garcia Ripoll
|
ffecddc3b9
|
In principle LET forms can also be moved around
|
2010-05-13 11:30:11 +02:00 |
|
Juan Jose Garcia Ripoll
|
6f9321e3b0
|
C-INLINE forms get the side effects field from its expansion
|
2010-05-13 11:29:50 +02:00 |
|
Juan Jose Garcia Ripoll
|
7a9253ebad
|
Removed unused function OPTIMIZE-C1LET*
|
2010-05-13 10:38:57 +02:00 |
|
Juan Jose Garcia Ripoll
|
9f842084bc
|
When replacing a variable with a form, only the first value is used
|
2010-05-13 10:04:54 +02:00 |
|
Juan Jose Garcia Ripoll
|
f6bddc7b0b
|
VALUES forms are more efficiently inlined.
|
2010-05-13 10:04:37 +02:00 |
|
Juan Jose Garcia Ripoll
|
dbf16619eb
|
Merge the optimizers for LET and LET* adding a new function for unregistering variables from discarded C1FORMs.
|
2010-05-13 00:24:27 +02:00 |
|
Juan Jose Garcia Ripoll
|
124e0427ec
|
New function for deciding when and how to replace LET/LET* variables with their values.
|
2010-05-12 23:44:07 +02:00 |
|
Juan Jose Garcia Ripoll
|
37d13228a0
|
INLINE-ARGS would not optimize PROGN forms
|
2010-05-12 23:41:59 +02:00 |
|
Juan Jose Garcia Ripoll
|
73f81381be
|
*CURRENT-FORM* was not properly updated by C1EVAL
|
2010-05-12 23:41:09 +02:00 |
|
Juan Jose Garcia Ripoll
|
d8dac21c8f
|
The c1form-parents field is now a list of the nodes above the current one. We provide functions to rewrite the list when moving the node and speed up FIND-NODE-IN-LIST using this list.
|
2010-05-11 17:25:16 +02:00 |
|
Juan Jose Garcia Ripoll
|
854349437f
|
Constants are always produced as fresh new locations so that we do not overwrite the parent and other fields
|
2010-05-11 16:45:12 +02:00 |
|