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