Commit graph

69 commits

Author SHA1 Message Date
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
f3b1febf4e Merged in changes from sealed_slot branch 2008-05-09 09:48:29 +00:00
jgarcia
cd6b735da8 Avoid using --rpath, since it is not required 2008-03-18 21:51:15 +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
a59f90871a Emacs modelines for better editing 2008-02-02 19:14:05 +00:00
jgarcia
8a7114e142 Fixed inline expansion of DIGIT-CHAR-P and added a flag :ONE-LINER to the DEF-INLINE (not yet used, though) 2007-12-13 19:23:14 +00:00
jgarcia
69ab4e6357 Finally solved the problem of COMPILER-LET not being imported in the compiler package 2007-12-01 09:08:11 +00:00
jgarcia
6af54bccfa Store linker on a separate variable 2007-07-12 09:25:30 +00:00
jgarcia
af8c7a0618 Change directory structure 2007-06-04 18:43:32 +00:00
jgarcia
a8ba6f5c01 Initital support for long double and immediate short floats. 2006-10-13 17:28:51 +00:00
jgarcia
12799c7305 Move from short/long-float to single/double-float (by L. Brinkhoff) 2006-09-01 15:15:57 +00:00
jgarcia
f21de12a27 Reimplement C1MACROLET using the facilities from the bytecodes compiler. 2006-06-17 16:05:26 +00:00
jgarcia
022fda6f95 Integrated variables into the compiler environment. Variable *VARS* disappears. 2006-06-12 08:52:28 +00:00
jgarcia
52f90d2836 Add records to the compiler environment. 2006-06-12 08:52:22 +00:00
jgarcia
7305f018b3 Incorporate tags in the environment. 2006-06-12 08:52:06 +00:00
jgarcia
b03e07bd12 Replaced global variable *funs* by the new compiler environment. 2006-06-12 08:51:56 +00:00
jgarcia
6b406c1d83 Now the compiler can externalize constants with circular references 2006-05-17 15:17:29 +00:00
jgarcia
ee50a03ea4 Use MAKE-LOAD-FORM to compile constants that do not have a readable printed representation (Brian Spilsbury) 2006-05-16 16:18:39 +00:00
jjgarcia
936b7fb6f6 Header files are now kept in a directory named 'ecl', so as to avoid name clashes with other headers. 2006-02-28 14:05:47 +00:00
jjgarcia
6055075b78 Separate temporary and permanent data in a compiled file 2006-02-16 11:04:55 +00:00
jjgarcia
c6df05f4d8 Remove unused function and variable 2006-02-06 10:11:01 +00:00
jjgarcia
4c146bc8c1 Simple implementation of callbacks, much like CFFI does. 2005-10-11 09:01:25 +00:00
jjgarcia
9052752e65 Reorganized the list of inliners and inline information, storing it in more detailed structures 2005-08-08 08:09:25 +00:00
jjgarcia
7a855c05c5 Sharing function definitions for global functions now works 2005-07-29 09:57:14 +00:00
jjgarcia
f76c1888c6 - The T1 and T3 forms of the compiler have been almost removed. Now, handling of
DEFUN as a toplevel form is made via some new declaration C-GLOBAL and some
  magic both in the optimizer for FSET and in the compiler C1COMPILE-FUNCTION.
- CLINES is now handled with a macro and all lines from CLINES are written
  together in the header.
- It is now illegal to have SI::C-LOCAL inside a macro function.
2005-07-04 09:20:24 +00:00
jjgarcia
85815eb157 DECLARATION names cannot be type names and viceversa 2005-06-09 08:05:17 +00:00
japhie
e40992696f Export c:build-fasl 2005-05-23 01:45:20 +00:00
jjgarcia
986198842f Removed useless variable \*special-binding\*. C1ADD-GLOBAS is now properly renamed C1DECLARE-SPECIALS and does the right thing: to push the special variable declarations onto the \*VARS\* stack and not to add them to the global proclamations. 2005-05-13 11:43:22 +00:00
jjgarcia
e52a6e31aa DEFCBODY, DEFLA and DEFENTRY reimplemented. DEFVAR and DEFPARAMETER are no longer treated specially by the compiler. Globals declared by DEFPARAMETER toplevel forms are now recognized by the compiler. 2005-04-11 08:43:48 +00:00
jjgarcia
06b3047b1d + Fixes in the code for backquoted vectors `#(,a ,b ...)
+ Fixes in the compiler code for CATCH and VALUES
+ Slight improvement in the readability of compiled CATCH
+ Implemented lisp hooks for cleaning on exit.
+ Improvements in the help messages from "configure"
2005-02-14 10:26:29 +00:00
jjgarcia
ea7b544af3 Xmas fixes. See CHANGELOG for list of changes. 2005-01-07 11:51:23 +00:00
jjgarcia
e4fa9f4e73 Merged in the new compiler structure doubly linked list. 2004-12-16 15:56:54 +00:00
jjgarcia
6b771da508 Compiler data structures print now unreadable, because they have too many circular dependencies that drive the printer crazy. 2004-11-23 15:08:04 +00:00
jjgarcia
a0417f0a88 Summer fixes 2004-10-04 08:02:39 +00:00
jjgarcia
a85c392142 Several fixes. Functions are now created only with C1COMPILE-FUNCTION. 2004-08-13 13:31:24 +00:00
jjgarcia
a14b12704b Make the compiler quieter 2004-08-02 08:22:03 +00:00
jjgarcia
d76a72edd9 Improve on previous fixes of the compiler error messages: everything now uses cmperr, cmpwarn and cmpnote 2004-07-08 11:55:24 +00:00
jjgarcia
ce41ff78fd Support for DLL in Windows 2004-06-18 07:51:14 +00:00
jjgarcia
5f56a67a3e Changed the structure of the data in *LINKING-CALLS*. Now function objects are stored, together with C variable/function names. 2004-06-08 14:46:21 +00:00
jjgarcia
3e1a75f49e Unify the routines that emit calls to functions, so that they work with function objects and handle functions with fixed and variable number of arguments 2004-05-13 16:28:13 +00:00
jjgarcia
3246405dcc Imported the PRETTY-PRINTER from CMUCL and integrated it with the previously commited format.lsp. The old pretty printer remains merged in and is used by default. 2004-05-12 08:07:53 +00:00
jjgarcia
4e3189eddd Big changes in the way functions are compiled, unifying the code that handles DEFUN, DEFMACRO and LAMBDA, and fixing an important bug in the optimizer for tail-recursive calls. 2004-05-05 08:38:07 +00:00
jjgarcia
403511c488 The portable CLX library has been incorporated. 2004-03-25 09:02:27 +00:00
jjgarcia
48740191e6 Local functions whose name appears in a FUNCTION special form must be converted into an object. This is marked by setting FUN-REF-CCB to true. 2003-12-08 09:37:47 +00:00
jjgarcia
c09dd1a588 *** empty log message *** 2003-11-24 16:39:04 +00:00
jjgarcia
cdff225681 Implemented locking on hash tables and packages. Fixed several floating point contagion bugs in +, -, /, *, and ROUND. 2003-11-24 11:27:28 +00:00
jjgarcia
158997357b In the compiling process, we differentiate between registration of a constant, and dumping of the database of constants. The later being improved with support for a common storage space. Also, complex numbers may now be read that use #n# and #n=. 2003-11-03 08:57:01 +00:00
jjgarcia
fc8deffa71 src/c 2003-10-22 07:27:44 +00:00
jjgarcia
e3473825d2 Bunch of fixes to allow loaded files to be garbage collected. New file naming conventions. 2003-10-06 09:40:32 +00:00