Commit graph

2748 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
a4599f13af Removed a broken inline expansion for #'/ 2009-07-08 21:29:35 +02:00
Juan Jose Garcia Ripoll
4303ea8572 The routine VALUES-TYPE-PRIMARY-TYPE did not extract any value from VALUES types 2009-07-08 13:33:20 +02:00
Juan Jose Garcia Ripoll
2838b1042b Implemented type propagation for MULTIPLE-VALUE-SETQ 2009-07-08 11:16:42 +02:00
Juan Jose Garcia Ripoll
cf61dbe4cb Implemented type propagation for MULTIPLE-VALUE-BIND 2009-07-08 11:15:25 +02:00
Juan Jose Garcia Ripoll
c63786e396 Function to extract the output values of a function that returns more than one value 2009-07-08 11:15:09 +02:00
Juan Jose Garcia Ripoll
49357b1d9b Do not simplify the function type proclamations, specially now that we can handle VALUES types. 2009-07-08 11:14:44 +02:00
Juan Jose Garcia Ripoll
6f9d335302 In cmpnum.lsp, MAXIMUM-NUMBER-TYPE outputs the minimum, not the maximum type. 2009-07-08 11:11:46 +02:00
Juan Jose Garcia Ripoll
6884850535 Added type information for EXPT 2009-07-08 10:48:56 +02:00
Juan Jose Garcia Ripoll
ad6a35f9e3 Implemented type propagation for *, +, - and / 2009-07-08 10:48:30 +02:00
Juan Jose Garcia Ripoll
52c7aba69e Add type information for FLOOR, CEILING, TRUNCATE, MOD and REM 2009-07-08 09:10:52 +02:00
Juan Jose Garcia Ripoll
c846732195 P1TAGBODY now performs either several passes of type propagation or uses a safe version that does not rely on which-way information and resets the input assumptions. 2009-07-08 09:10:14 +02:00
Juan Jose Garcia Ripoll
aaf5609daf make clean does wipe out the entire content of the build directory. 2009-07-06 19:28:54 +02:00
Juan Jose Garcia Ripoll
d15401b037 make clean does wipe out the entire content of the build directory. 2009-07-06 19:28:37 +02:00
Juan Jose Garcia Ripoll
8636b97c1f Mark new release version. 2009-07-05 17:25:15 +02:00
Juan Jose Garcia Ripoll
cbdb71d6ab Allow disabling the type propagation notes (which are still not conditions). 2009-07-05 17:18:04 +02:00
Juan Jose Garcia Ripoll
172636807b Changed the order of C flags so that the user supplied include directories are searched last. 2009-07-05 17:11:23 +02:00
Juan Jose Garcia Ripoll
cf0f4ae6d0 Implemented branch merging for IF and TAGBODY 2009-07-05 10:24:12 +02:00
Juan Jose Garcia Ripoll
6b0b233da5 Fixed typo in values-type-primary-type 2009-07-05 10:11:51 +02:00
Juan Jose Garcia Ripoll
a33f442197 Implemented an experimental (and still incomplete) phase for type propagation. 2009-07-05 09:44:57 +02:00
Juan Jose Garcia Ripoll
aebe505993 Use the new routines for multiple values type to implement c1form-primary-type 2009-07-05 09:44:28 +02:00
Juan Jose Garcia Ripoll
1b8bb0bef1 Implemented TYPE-AND for multiple value types 2009-07-05 09:42:38 +02:00
Juan Jose Garcia Ripoll
8034185d4a Fixed typo in type propagators for ASET/AREF 2009-07-04 19:54:40 +02:00
Juan Jose Garcia Ripoll
39d9ee467d Implemented C function for inlining ARRAY-DIMENSION 2009-07-04 19:54:23 +02:00
Juan Jose Garcia Ripoll
06c3b848d9 Fix the inline expansion of array-dimension. 2009-07-04 19:23:17 +02:00
Juan Jose Garcia Ripoll
0ea425866c Organize the code in INLINE-ARGS, factoring out parts that can be used in call-global-loc and allowing the use of temporary variables which are not of type :cl-object. 2009-07-04 17:17: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
509166541b New error functions that will be used in compiled code 2009-07-04 17:17:23 +02:00
Juan Jose Garcia Ripoll
1b33714752 Better inline expansions of ELT/(SETF ELT) (M. Kocic) 2009-07-03 19:15:20 +02:00
Juan Jose Garcia Ripoll
72b1843963 Reintroduce bounds checks in ecl_elt/ecl_elt_set 2009-07-03 18:51:54 +02:00
Juan Jose Garcia Ripoll
f78b7ad8fc ecl_elttype_to_symbol() uses now a name table instead of dispatching with switch. 2009-07-03 14:48:56 +02:00
Juan Jose Garcia Ripoll
4ef65fa6cc Reordering statements in ecl_{aset,aref} gives 25% speedup 2009-07-03 14:34:24 +02:00
Juan Jose Garcia Ripoll
8a3c9cea2c Remove the call to ecl_array_elttype() in ecl_aset_unsafe 2009-07-03 09:35:35 +02:00
Juan Jose Garcia Ripoll
2dc460e7a5 Implement new error functions for array and vector types. 2009-07-03 09:35:06 +02:00
Juan Jose Garcia Ripoll
535863ff57 Consistently with SBCL, array type errors are not recoverable 2009-07-03 09:19:21 +02:00
Juan Jose Garcia Ripoll
42d387c300 Improve the inline definitions of arrayp and vectorp. 2009-07-03 08:54:59 +02:00
Juan Jose Garcia Ripoll
95fc3c6413 Create really unchecked versions of aref/aset 2009-07-03 00:25:38 +02:00
Juan Jose Garcia Ripoll
866d8c8604 The array element type is stored in the arrays, vectors and strings, thus simplifying identification and code. Slight speedup in ecl_aref. 2009-07-02 23:48:20 +02:00
Juan Jose Garcia Ripoll
bb2c54296d Ack was already defined. 2009-07-02 23:12:10 +02:00
Juan Jose Garcia Ripoll
e0d4aea4e8 Additional character names, for compatibility with older versions. 2009-07-02 23:08:33 +02:00
Juan Jose Garcia Ripoll
1531a8b36e Move the definition of _XOPEN_SOURCE out of ecl.h so that we can use MAP_ANON. 2009-07-02 17:55:56 +02:00
Juan Jose Garcia Ripoll
da26e27de1 Extend the previous change to C++ builds. 2009-07-02 11:09:24 +02:00
Juan Jose Garcia Ripoll
a44afe8b19 New configure option --with-profile-cflags, to build a profiled ECL 2009-07-02 11:07:41 +02:00
Juan Jose Garcia Ripoll
2501807b2d Remove unused macro definitions. 2009-07-02 10:31:29 +02:00
Juan Jose Garcia Ripoll
1b98007713 ECL no longer uses non portable pthreads attributes (*_NP), moving to the standard names also in Linux. Threads are created in a detached state to avoid leaking resources (M. Mondor). Thread and mutex attributes are created only once (M. Mondor). 2009-07-02 10:29:20 +02:00
Juan Jose Garcia Ripoll
7becd5f3dd The value of process.parent has to be set _before_ the thread starts. 2009-07-02 00:39:59 +02:00
Juan Jose Garcia Ripoll
70a281909a Protect sysfun.lsp from a nasty user that changes the readtable. 2009-07-02 00:13:21 +02:00
Juan Jose Garcia Ripoll
8d06d5b7fa Fix yet another typo in cmpwt.lsp. 2009-07-01 14:02:32 +02:00
Juan Jose Garcia Ripoll
79d6eb5873 Fix typo in previous patch 2009-07-01 13:57:02 +02:00
Juan Jose Garcia Ripoll
1f0289c5c6 cmpwt.lsp would add one extra space after every statically generated string constant. 2009-07-01 13:55:18 +02:00
Juan Jose Garcia Ripoll
a5d610105a Replace #' with ' to allow tracing the compiler handlers for different special forms (cmptop.lsp) 2009-06-29 14:41:34 +02:00