Commit graph

33 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
22d8ff707c FLOAT optimizer is now a bit more clever and returns a typed output with inlined forms 2012-06-02 09:51:08 +02:00
Juan Jose Garcia Ripoll
ca0222fd19 Implemented EXT:TRULY-THE and made THE expand to either EXT:TRULY-THE or EXT:CHECKED-VALUE depending on the optimization settings. 2011-12-31 19:37:13 +01:00
Juan Jose Garcia Ripoll
24debdf161 Fix additional warnings about unused variables and variables which are assumed global in the compiler. 2011-12-26 17:59:16 +01:00
Juan Jose Garcia Ripoll
ad0c81bff4 The macro expander for DOLIST in the compiler is now a compiler macro. It also uses an implicit TAGBODY around the body of the DOLIST. 2011-12-26 09:47:00 +01:00
Juan Jose Garcia Ripoll
3067537c33 When TYPEP receives an unknown type, or a contradictory type, it can not ignore it. 2011-12-24 17:04:58 +01:00
Juan Jose Garcia Ripoll
02db89a9bc The macro expander for DOLIST uses only LET, not SETQ. This way the type declarations are not incompatible with the initial values of the loop. 2011-12-23 19:41:39 +01:00
Juan Jose Garcia Ripoll
f2915ba419 In the macroexpander for TYPEP, optimize forms in which the value is a variable with a declared type. 2011-12-17 09:48:28 +01:00
Juan Jose Garcia Ripoll
0fc50d64dd More efficient expansion of TYPE with interval types 2011-12-17 01:13:20 +01:00
Juan Jose Garcia Ripoll
65c1b636fa In TYPEP, optimization of OR and AND types was disabled due to a missing assignment in the compiler macro code. 2011-12-17 00:13:39 +01:00
Juan Jose Garcia Ripoll
4a82e0ab54 Missing LET variable definition in EXPAND-TYPEP (J. James). 2011-01-24 22:27:13 +01:00
Juan Jose Garcia Ripoll
e83bd3dfb4 Unboxed type SHORT-FLOAT removed from the core. 2010-08-17 19:47:14 +02:00
Juan Jose Garcia Ripoll
2cacf0aefc Simplifications in compiler macro for TYPEP 2010-06-28 21:37:07 +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
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
b129433812 Added SATISFIES to the kind of types that TYPE can inline 2010-05-10 16:00:07 +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
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
1b808f2290 Compiler macros that open code AREF/ASET using cheap checks written in C 2010-05-05 23:52:25 +02:00
Juan Jose Garcia Ripoll
f00fafe95a Changed the prototype of functions that take a fixed number of arguments 2009-12-26 15:40:08 +01:00
Juan Jose Garcia Ripoll
bc302c2acf The optimizer for TYPEP did not work when passed three arguments. 2009-11-29 22:40:45 +01:00
Juan Jose Garcia Ripoll
65635f1452 Minor read-only annotations in cmpopt.lsp 2009-07-09 23:31:50 +02:00
Juan Jose Garcia Ripoll
6446cde7c3 An attempt at providing a unifor and simpler framework for optimizing array access. 2009-07-04 17:17:46 +02:00
Juan Jose Garcia Ripoll
005dc07061 Added the possibility of bytecompiling forms and saving them. New module bytecmp uses this to implement COMPILE and COMPILE-FILE. 2009-04-01 02:29:48 +02:00
Juan Jose Garcia Ripoll
19440df458 The local optimizations for TYPEP take precedence over the expansions dictated by DEFTYPE 2008-11-08 21:56:53 +01:00
Juan Jose Garcia Ripoll
62cc1fbfe0 A wrong optimization of (COERCE x 'INTEGER) caused the form X to be evaluated twice. 2008-11-02 12:02:33 +01:00
Juan Jose Garcia Ripoll
ec23122149 type= thinks all subtypes of complex are the same. this breaks down the optimizer for coerce. 2008-10-26 20:21:34 +01:00
Juan Jose Garcia Ripoll
edb7390a0f Implemented compiler conditions 2008-08-19 23:57:36 +02:00
Juan Jose Garcia Ripoll
57efb13391 The optimizer for COERCE may enter an infinite loop with integer ranges 2008-08-19 12:22:42 +02:00
Juan Jose Garcia Ripoll
8a26f905fe The optimizer for COERCE now uses specialized functions for sequence types instead of open coding it every time. 2008-05-29 00:11:26 +02:00
Juan Jose Garcia Ripoll
36ec12419b Implemented an optimizer for COERCE and improved the one for TYPEP, which did not handle sequence types. 2008-05-28 23:19:10 +02:00
jgarcia
4b753ce2e7 In the compiler, let the macro DOLIST generate better type declarations 2008-05-12 08:14:52 +00:00
jgarcia
f3b1febf4e Merged in changes from sealed_slot branch 2008-05-09 09:48:29 +00:00