Commit graph

41 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
f07de591f3 New function GLOBAL-VAR-P 2010-05-11 14:18:04 +02:00
Juan Jose Garcia Ripoll
17790c4770 Remove the function TYPE-FILTER and deal with the whole set of Common Lisp types in the compiler. 2010-05-09 22:20:47 +02:00
Juan Jose Garcia Ripoll
cf60cb2181 New function for testing whether a variable was declared special 2010-05-05 23:42:21 +02:00
Juan Jose Garcia Ripoll
c8c36d32b9 DECLAIM + SPECIAL did not work because ECL was not looking for special declarations in the compiler environment. 2010-05-05 23:27:43 +02:00
Juan Jose Garcia Ripoll
8e9c6dcad6 ECL's compiler now interprets the IGNORABLE declaration. 2009-11-07 23:12:57 +01: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
0bf0cfbbae Factor out the guts of PROGV into a function ecl_progv() shared by the interpreter and the compiler. 2009-06-19 14:49:29 +02:00
Juan Jose Garcia Ripoll
53e1918169 We have to use ECL_SETQ to assign values to bound special variables. 2008-10-12 22:12:57 +02:00
Juan Jose Garcia Ripoll
70c64f9652 The macros/functions for accessing and changing symbol values require an environment value. 2008-10-12 16:44:29 +02:00
Juan Jose Garcia Ripoll
7c5ab4f1fb Some functions now take a cl_env_ptr argument, becoming better isolated. 2008-10-11 22:32:54 +02:00
jjgarcia
8b1c69589a ECL now signals a STACK-OVERFLOW condition when the binding stack grows too much 2008-09-28 20:11:38 +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
16abf39c23 CAR/CDR is no longer a valid left hand side for a C expression 2008-05-05 12:49:46 +00:00
jgarcia
a59f90871a Emacs modelines for better editing 2008-02-02 19:14:05 +00:00
jgarcia
aa3dfe4058 Prefix most functions with 'ecl_' to avoid name collisions when embedding ECL in other libraries 2007-01-18 11:46:07 +00:00
jgarcia
844fdb160e Unbox all variables that are referenced at least once. 2007-01-06 15:22:28 +00:00
jgarcia
022fda6f95 Integrated variables into the compiler environment. Variable *VARS* disappears. 2006-06-12 08:52:28 +00:00
jjgarcia
f840c19090 Omit warning when referring to constant symbols that have been defined outside the compiled file. 2006-03-11 12:45:34 +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
205ad5cf76 Bug in registration of special variables at compilation time 2005-05-10 14:20:33 +00:00
jjgarcia
3009791f9f The code for handling closure variables has been changed and now encloses the whole of the function in a C block 2005-05-02 16:55:00 +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
e4fa9f4e73 Merged in the new compiler structure doubly linked list. 2004-12-16 15:56:54 +00:00
jjgarcia
1281dfb830 FFI Patches by M. Goffioul 2004-11-23 15:11:02 +00:00
jjgarcia
24688d57f8 Teach the compiler how to produce C functions with a fixed number of arguments when the corresponding lisp function does not have any &optional, &rest, &key. Teach it also how to produce slimmer code for MULTIPLE-VALUE-SETQ/BIND. The type of a C1FORM can now be a (VALUES ...) expression, the first value being obtained with C1FORM-PRIMARY-TYPE. 2004-05-17 07:32:52 +00:00
jjgarcia
403511c488 The portable CLX library has been incorporated. 2004-03-25 09:02:27 +00:00
jjgarcia
4eac79774e Preliminary support for POSIX threads. 2003-11-18 11:23:07 +00:00
jjgarcia
fc8deffa71 src/c 2003-10-22 07:27:44 +00:00
jjgarcia
540e4140f4 Forms are now stored as structures. 2003-10-16 07:38:17 +00:00
jjgarcia
df97ca1b92 Fixed bug that prevented compilation under windows. ECL is now built as a single shared library on systems which support it. The compiler is being rewritten using higher level, more expressive functions. 2003-09-08 16:53:29 +00:00
jjgarcia
b59de87d9f Fixed typo 2003-08-07 12:23:13 +00:00
jjgarcia
a381a7ee09 Merge NEW_COMPILER 25.05.03 2003-05-26 09:49:50 +00:00
jjgarcia
6b76d155ee Create new functions SI::{GET,PUT,REM}-SYSPROP to handle vital information
about functions, SETF forms, DEFTYPEs, etc. Property lists are no longer
used for this task.
2003-03-21 14:18:56 +00:00
jjgarcia
9771e91572 + New implementation of DESTRUCTURING-BIND
+ The bytecodes compiler now alloes a lambda list with &key and no keywords
+ WITH-HASHTABLE-ITERATOR implemented
+ QUIT is now silent
+ In MAKE-PATHNAME, values supplied with a value of NIL would be overwritten
  by the content of :DEFAULTS.
2003-03-04 16:35:03 +00:00
jjgarcia
b0ce08d0ea Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG. 2002-11-04 14:08:24 +00:00
jjgarcia
101cddc1b1 When compiling PSETQ, the arguments would be evaluated in the wrong order. 2001-10-17 18:41:17 +00:00
jjgarcia
b979ad8b0b Changes in the names of macros related to fixnums, characters and arrays. 2001-10-11 17:44:57 +00:00
jjgarcia
8563a1fc1c Fix the compiler so that when it finds LOCALLY, MACROLET or SYMBOL-MACROLET
at the top level, it processes their bodies as top level forms as well. For
instance, (LOCALLY (EVAL-WHEN (:COMPILE-TOPLEVEL) (PRINT "HELLO"))), now works.
2001-07-19 15:33:46 +00:00
jjgarcia
b4a5edcce4 Remove variable si::*not-compile-time* which was redundant with si::*compile-time-too*
PROCLAIM is no longer processed at compile time.
Replace most uses of PROCLAIM with DECLAIM, so that it is taken into account at compile time.
2001-07-19 09:05:23 +00:00
jjgarcia
f2da18a591 Add a name mangler to the lisp runtime. Use this mangler in the compiler to
optimize access to symbols and functions which are defined in the C runtime.
2001-07-05 10:08:52 +00:00
jjgarcia
2d8d0cd44b Initial revision 2001-06-26 17:14:44 +00:00