Commit graph

453 commits

Author SHA1 Message Date
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
jjgarcia
7c2f63ea47 In miwng32, replace dllwrap with gcc -shared 2008-08-04 20:57:51 +00:00
jjgarcia
a34a91df3a One more use of dllwrap had to be made quieter. 2008-08-04 18:07:16 +00:00
jjgarcia
310297e884 Make dllwrap quieter. 2008-08-04 17:55:14 +00:00
jjgarcia
2ef8b05d4b Added support for long double types in the compiler 2008-08-02 18:30:48 +00:00
jjgarcia
2872c6252d Improved computation of closures 2008-08-02 15:23:25 +00:00
jjgarcia
1e7967d0d9 Added a feature to identify we have PDE registration and update *source-location* when reading a file to be compiled 2008-07-12 16:55:07 +00:00
jjgarcia
6c788d733e Fixed the order in which MAKE-LOAD-FORM statements are compiled 2008-07-11 15:08:28 +00:00
jjgarcia
04268a5a51 Speed up calling unknown functions by having a local frame that we reuse 2008-06-29 00:32:48 +00:00
jjgarcia
064df295ac Fixed typo 2008-06-28 18:14:55 +00:00
jjgarcia
1813aa8e6c Reuse code for long function calls 2008-06-28 18:14:00 +00:00
jjgarcia
a7465e94ba Fixed optimization of MAPL and MAPC: output value was wrong. 2008-06-23 20:39:26 +00:00
jjgarcia
c1f08a04e6 Removed global environment field cl_env.lex_env 2008-06-19 14:59:11 +00:00
jjgarcia
70c30b8ef9 In compile-file, ensure that :output-file is appended the proper file extension 2008-05-30 23:55:54 +00:00
jjgarcia
abec6e581f Stronger hashing for C files initialization names 2008-05-30 23:52:16 +00:00
jjgarcia
c5279d417b Fixed optimizer to work with Unicode 2008-05-30 12:39:31 +00:00
jjgarcia
6bfa233bc3 Reorganize TAGBODY and PROGN so that unused statements can be eliminated. 2008-05-30 12:28:29 +00:00
jjgarcia
e65c87b85a The optimizer for COERCE now uses specialized functions for sequence types instead of open coding it every time. 2008-05-29 06:50:10 +00:00
jjgarcia
2e100452ce Implemented an optimizer for COERCE and improved the one for TYPEP, which did not handle sequence types. 2008-05-29 06:49:49 +00:00
jjgarcia
d5d76014a3 MAKE-SEQUENCE and associated functions used SUBTYPEP at least once. We now avoid that call. 2008-05-29 06:47:57 +00:00
jgarcia
fda336d9b6 COMPILE-FILE detects and aborts when errors happen in cmp-eval or cmp-macroexpand 2008-05-19 17:40:51 +00:00
jgarcia
dbee5bf9f9 The temporary destination is a function of the _final_ destination, not of the origin of the value. 2008-05-19 10:48:28 +00:00
jgarcia
b213c88975 When system-p is T, the default is :object, not :fasl. 2008-05-19 09:25:49 +00:00
jgarcia
8f28327ddf Simplifed MAKE-ARRAY. Deactivated the old garbage collector. New optimizers for MAKE-ARRAY and VECTOR-PUSH*. Declarations are now held in *cmp-env* instead of in global variables. 2008-05-18 20:08:39 +00:00
jgarcia
005dc615e8 Fix ffi to work with new call stacks 2008-05-14 08:14:26 +00:00
jgarcia
a041995cd2 Fixed optimizations for SCHAR so that they also work with Unicode strings 2008-05-14 07:50:12 +00:00
jgarcia
6c534e28ba Compare function names using EQUAL not EQ. 2008-05-13 15:14:08 +00:00
jgarcia
73cc02b14a The compiler function C1BODY no longer simplifies types in type declarations, but keeps the information so that OPTIONAL-CHECK-TYPE can use it. 2008-05-12 08:18:43 +00:00
jgarcia
4e46efac3f Automatically generate type checks for arguments of a lambda form if the safety settings are high enough 2008-05-12 08:16:44 +00:00
jgarcia
f5d2137452 Make cmp-env-optimization a macro again 2008-05-12 08:16:04 +00:00
jgarcia
4b753ce2e7 In the compiler, let the macro DOLIST generate better type declarations 2008-05-12 08:14:52 +00:00
jgarcia
bd09f93e3c Modify call frames to keep pointers and let cl_funcall() share frames among calls 2008-05-12 08:11:37 +00:00
jgarcia
f3b1febf4e Merged in changes from sealed_slot branch 2008-05-09 09:48:29 +00:00
jgarcia
76479f7686 Honor the *COMPILE-VERBOSE* flag also in C:BUILDER 2008-05-09 07:47:22 +00:00
jgarcia
14c3b6bdae Some more fixes for windows 2008-05-06 07:48:32 +00:00
jgarcia
16abf39c23 CAR/CDR is no longer a valid left hand side for a C expression 2008-05-05 12:49:46 +00:00
jgarcia
8800b254f5 Committed the changes to implement small conses 2008-04-30 14:24:20 +00:00
jgarcia
504fe5df73 LOAD-TIME-VALUE is no longer a macro 2008-04-24 11:15:34 +00:00
jgarcia
284ceaf244 Bytecode compiled functions can now be externalized in C compiled files 2008-04-22 13:43:03 +00:00
jgarcia
13d232e88e Make LOG more accurate when the real or the imaginary part are much smaller than the corresponding other part. 2008-04-13 18:38:26 +00:00
jgarcia
9416b594a2 LOAD-TIME-VALUE did not work with global variables 2008-04-13 08:53:32 +00:00
jgarcia
cd6b735da8 Avoid using --rpath, since it is not required 2008-03-18 21:51:15 +00:00
jgarcia
2cb141c3ba The symbols from Boehm-Weiser garbage collector are now exported from the DLL also in Windows. This means PROFILE can be built there. In addition, under mingw32 we now only export symbols which have been marked with dllexport. 2008-03-17 08:28:20 +00:00
jgarcia
b4e058bb0d Remove the need to use ecl.def and ecl-threads.def 2008-03-16 12:08:44 +00:00
jgarcia
52f4df1901 Merged the new function call code 2008-02-16 10:28:32 +00:00
jgarcia
9db24c5617 If DEBUG >= 2, do not use direct calls to exported functions. 2008-02-09 20:17:36 +00:00
jgarcia
fadcaf2d0c Calls to functions defined later in the same file were still done directly 2008-02-09 19:38:50 +00:00
jgarcia
bebfeb179f STACK-PUSH-VALUES did not get inlined 2008-02-08 23:53:55 +00:00
jgarcia
e7317997df Improved handling of DEBUG and SAFETY declarations 2008-02-08 21:49:47 +00:00
jgarcia
2c98be249e Introduce DEBUG declarations. DEBUG >= 1 deactivates direct calls and SI::C-LOCAL 2008-02-08 15:26:23 +00:00