Commit graph

4143 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
1ca77df9bc Changed the way INLINE-ARGUMENTS works: temporary variables are now created based on the representation type of the inlined value, not on its expected types. Furthermore, expected types are no longer an argument to INLINE-ARGUMENTS. 2010-05-27 23:49:47 +02:00
Juan Jose Garcia Ripoll
164605aa72 The auxiliary function ASSERT-FAILURE was missing a variable definition. 2010-05-27 23:48:14 +02:00
Juan Jose Garcia Ripoll
747fddfecf Fixed typo in assertion 2010-05-27 20:05:07 +02:00
Juan Jose Garcia Ripoll
3c8b734b61 Simplify ASSERT making it cheaper. 2010-05-27 20:04:58 +02:00
Juan Jose Garcia Ripoll
2feabb4ed1 Reactivated the type propagators for +,/,*,- 2010-05-26 23:09:32 +02:00
Juan Jose Garcia Ripoll
eea9b102ad Implemented type propagation for local functions 2010-05-26 23:09:07 +02:00
Juan Jose Garcia Ripoll
3994456543 Implemented a type propagation phase 2010-05-26 22:01:55 +02:00
Juan Jose Garcia Ripoll
89b99fbcee Fixed typos in proclamations.lsp 2010-05-26 22:01:40 +02:00
Juan Jose Garcia Ripoll
18f246b45b Fixed typo 2010-05-26 22:01:08 +02:00
Juan Jose Garcia Ripoll
1a9c6b2f8c Missing package prefix for type SI:INDEX 2010-05-26 22:00:32 +02:00
Juan Jose Garcia Ripoll
f14a1b5a0c Create hash tables for dispatching type propagators. 2010-05-26 12:24:49 +02:00
Juan Jose Garcia Ripoll
910e79852e Instead of using system property lists, create dispatch tables for handling the C1, T1, C2 forms and others. 2010-05-26 12:12:57 +02:00
Juan Jose Garcia Ripoll
75ba91304a Type propagators for ROW-MAJOR-ASET/AREF. 2010-05-26 10:27:14 +02:00
Juan Jose Garcia Ripoll
12c53490e3 DEFTYPE forms do not create new functions when all the body does is return a constant. CONSTANTLY moved from seqlib to predlib.lsp 2010-05-25 22:59:08 +02:00
Juan Jose Garcia Ripoll
55c51666b4 Fixed typo in the inline code for ROW-MAJOR-AREF/ASET 2010-05-25 22:53:05 +02:00
Juan Jose Garcia Ripoll
6092f4be4a Remove warnings about unknown optimization setting COMPILATION-SPEED 2010-05-25 22:34:45 +02:00
Juan Jose Garcia Ripoll
5cfb33d7ad Inline forms for ROW-MAJOR-AREF/ASET acting on specialized arrays with elements :[u]int{8,16,32,64}-t 2010-05-25 22:18:01 +02:00
Juan Jose Garcia Ripoll
1c6132d28a Inline MAKE-ARRAY also when :INITIAL-ELEMENT is supplied. 2010-05-25 22:17:24 +02:00
Juan Jose Garcia Ripoll
0a0175d98a Move DELETE-C1FORMS to cmpforms.lsp 2010-05-25 22:16:59 +02:00
Juan Jose Garcia Ripoll
e33fb2f3c2 New special form EXT:COMPILER-TYPECASE used to create compiler macros that select code based on the types of expressions. 2010-05-25 22:16:46 +02:00
Juan Jose Garcia Ripoll
bb3eeabf74 Reimplemented C2LET without REPLACEd variables and eliminated this kind from the rest of the compiler. 2010-05-25 19:43:31 +02:00
Juan Jose Garcia Ripoll
51c7549e72 Precise declarations for ARGC/ARGV 2010-05-25 19:43:03 +02:00
Juan Jose Garcia Ripoll
b5d5cacbde Use a hash to seek the compilation strategies in the interpreter 2010-05-25 19:42:44 +02:00
Juan Jose Garcia Ripoll
6b83ade38d Removed the C2LET forms, replacing them with C2LET* and temporary variables. 2010-05-25 15:56:41 +02:00
Juan Jose Garcia Ripoll
e37daf195a Safer declarations for all functions in PPRINT that are exported 2010-05-25 15:56:17 +02:00
Juan Jose Garcia Ripoll
40d5fede52 New macro C-DECLAIM for file-local declamations that do not propagate outside the file, not even when loaded. 2010-05-25 15:55:53 +02:00
Juan Jose Garcia Ripoll
cfde0986fd DECLAIM did not work because the routine ADD-DEFAULT-OPTIMIZATIONS did not inspect the root environment 2010-05-25 11:31:14 +02:00
Juan Jose Garcia Ripoll
4a20d0d23c Simplify the inline expansion of AREF/ASET using temporary variables for the array dimensions 2010-05-25 11:30:48 +02:00
Juan Jose Garcia Ripoll
40c85314d1 The type declaration for iteration variables in LOOP was too tight, causing some tests to be always true. 2010-05-24 00:31:52 +02:00
Juan Jose Garcia Ripoll
d4f96996e3 The CONS-CDR/CAR optimization was not working fully because the interpreter did not support it and because there were macros shadowing the actual functions. 2010-05-23 22:47:36 +02:00
Juan Jose Garcia Ripoll
bb283c298c LOOP can now detect the type of iteration variables 2010-05-23 21:03:53 +02:00
Juan Jose Garcia Ripoll
803371fbcd Fixed typo in seq.lsp 2010-05-23 21:03:34 +02:00
Juan Jose Garcia Ripoll
63988c79de LOOP FOR ON now uses CONS-CAR/CDR too 2010-05-23 19:45:46 +02:00
Juan Jose Garcia Ripoll
0041220960 Reimplemented MAP using the new macros 2010-05-23 19:33:00 +02:00
Juan Jose Garcia Ripoll
8e93dce002 Remove unused macro DEF-SEQ-BOOL-PARSER 2010-05-23 16:44:13 +02:00
Juan Jose Garcia Ripoll
361b012da6 New macro for running over multiple sequences, DO-SEQUENCES, used to reimplement SOME/EVERY 2010-05-23 16:33:09 +02:00
Juan Jose Garcia Ripoll
7457f9524d Minor fixes in the inference of C1FORM types 2010-05-23 16:32:36 +02:00
Juan Jose Garcia Ripoll
20ad95ce9e Optimize LOOP-FOR-IN using CONS-CAR/CDR 2010-05-23 16:32:07 +02:00
Juan Jose Garcia Ripoll
c60112a470 New auxiliary functions CONS-CAR/CONS-CDR help in optimizing loops 2010-05-23 16:31:45 +02:00
Juan Jose Garcia Ripoll
1bf4956d5a Hack WITH-UNIQUE-NAMES so that it can be used before the sequence functions are installed 2010-05-23 15:36:03 +02:00
Juan Jose Garcia Ripoll
3ebe4b146f In seqlib.lsp, reorder tests for more efficient code. 2010-05-22 18:03:34 +02:00
Juan Jose Garcia Ripoll
1d2e56135c Remove unneeded error checks in seqlib.lsp 2010-05-22 18:00:29 +02:00
Juan Jose Garcia Ripoll
42029200fe Simplify FIND so that it handles :FROM-END T without consing. 2010-05-22 16:45:31 +02:00
Juan Jose Garcia Ripoll
fcf22c21de FILL is now declared to be optimize 2010-05-22 16:10:39 +02:00
Juan Jose Garcia Ripoll
2c09a7b565 Reimplemented REDUCE 2010-05-22 16:03:59 +02:00
Juan Jose Garcia Ripoll
ba4210ef93 Reorganize the keyword arguments in seqlib so that keywords can be reused 2010-05-22 15:03:34 +02:00
Juan Jose Garcia Ripoll
ef04bdcdc2 Reimplemented DELETE/REMOVE-DUPLICATES 2010-05-22 14:56:31 +02:00
Juan Jose Garcia Ripoll
2b9e266407 Implemented DELETE-DUPLICATES-LIST 2010-05-22 09:54:54 +02:00
Juan Jose Garcia Ripoll
6d605bd37d Implemented REMOVE-DUPLICATES-LIST. 2010-05-22 01:17:57 +02:00
Juan Jose Garcia Ripoll
5141fad5e0 SEQUENCE-START-END now returns also the length of the sequence 2010-05-21 23:27:49 +02:00