Commit graph

440 commits

Author SHA1 Message Date
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
jgarcia
8e83146946 Export certain formatting functions 2008-02-04 20:03:56 +00:00
jgarcia
a6993e6e54 FUNCALL can now inline the function argument when it is a macro that returns a lambda form as in (FUNCALL (FORMATTER ...) ...) 2008-02-03 21:14:02 +00:00
jgarcia
a2f4bacd6b Always make lexical environments volatile, to force them into memory 2008-02-03 19:38:25 +00:00
jgarcia
6faa88cb16 Remove spurious newline character 2008-02-03 11:28:48 +00:00
jgarcia
c0fb124ab6 Change volatile declarations so that they play better with C++ 2008-02-03 10:26:49 +00:00
jgarcia
a59f90871a Emacs modelines for better editing 2008-02-02 19:14:05 +00:00
jgarcia
4b8f0de401 Add missing file 2008-02-01 13:01:56 +00:00
jgarcia
24cfa8cfdf Use a hashing algorithm combined with a time stamp to name initialization functions in object files 2008-02-01 11:41:34 +00:00
jgarcia
0338d375b4 Rely on the linker instead of searching symbols ourselves. We hope for no name duplication. 2008-01-28 10:23:15 +00:00
jgarcia
b23b09e67a RENAME-FILE now has a keyword argument that defines the behavior when a file with the new name exists. 2008-01-02 22:07:02 +00:00
jgarcia
6279eb25bb The init function from an executable did not get a disambiguation prefix 2007-12-31 11:09:12 +00:00
jgarcia
89132ad829 Under Cygwin/Windows FASL files can only be deleted after they have been garbage collected 2007-12-25 20:10:47 +00:00
jgarcia
1c6e75f287 Volatile declaration are now produced for all variables and argument of a function that uses setjmp. 2007-12-21 20:10:12 +00:00