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