Commit graph

4921 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
ee13dcd388 Introduce _ecl_funcall[0-5] to move the core from using cl_funcall to ecl_function_dispatch. 2011-12-18 00:26:53 +01:00
Juan Jose Garcia Ripoll
3b45bc6ecf Parsing of &optional arguments in DEFMACRO led to erroneous C code. 2011-12-17 20:30:38 +01:00
Juan Jose Garcia Ripoll
e786001fd9 DECLAIM got redefined when building ECL 2011-12-17 11:19:47 +01:00
Juan Jose Garcia Ripoll
f6f0a7a0ed The sealed slot accessor does not allow generic function extension 2011-12-17 10:54:34 +01:00
Juan Jose Garcia Ripoll
ae1aee40a7 Fixed typo in cmpopt-clos.lsp 2011-12-17 09:49:48 +01:00
Juan Jose Garcia Ripoll
f2915ba419 In the macroexpander for TYPEP, optimize forms in which the value is a variable with a declared type. 2011-12-17 09:48:28 +01:00
Juan Jose Garcia Ripoll
f4a9351e4a Inline slot access over sealed classes 2011-12-17 09:27:39 +01:00
Juan Jose Garcia Ripoll
0fc50d64dd More efficient expansion of TYPE with interval types 2011-12-17 01:13:20 +01:00
Juan Jose Garcia Ripoll
65c1b636fa In TYPEP, optimization of OR and AND types was disabled due to a missing assignment in the compiler macro code. 2011-12-17 00:13:39 +01:00
Juan Jose Garcia Ripoll
2c92c946a3 The built-in classes vector is now a constant 2011-12-16 23:38:00 +01:00
Juan Jose Garcia Ripoll
9d557937b1 Added new dispatch functions for slot accessors. 2011-12-16 22:12:56 +01:00
Juan Jose Garcia Ripoll
0423bd23a3 Fixed a typo in ecl_remf_setf_definition. Type-check also the SETF arguments to FBOUNDP. 2011-12-16 22:12:28 +01:00
Juan Jose Garcia Ripoll
d21ba1d9aa Some inline forms must distinguish whether they have to output multiple values or not 2011-12-15 18:34:03 +01:00
Juan Jose Garcia Ripoll
781cd4a0da Further declarations in optimized slot accessors. 2011-12-15 11:14:29 +01:00
Juan Jose Garcia Ripoll
c0f1d43b60 Improve inliners for SI:INSTANCE-CLASS and SI:INSTANCE-REF 2011-12-15 11:14:13 +01:00
Juan Jose Garcia Ripoll
afdb75f15b Remove type checks from slot accessors and optimize all slot accessors to standard classes. 2011-12-15 10:27:17 +01:00
Juan Jose Garcia Ripoll
4b565e6955 Better explanation of why the keys get duplicated in _ecl_standard_dispatch(). 2011-12-15 00:07:45 +01:00
Juan Jose Garcia Ripoll
198ecd50c2 Split the CLOS cache code into a separate file, with some cleanup in the process. 2011-12-15 00:05:15 +01:00
Juan Jose Garcia Ripoll
17ab9cecf0 Keep a SETF location object in the compiled code, to speed up the lookup of #'(SETF fname) functions. Also, store a closure in that object for the cases in which we fmakunbound it. 2011-12-14 00:24:09 +01:00
Juan Jose Garcia Ripoll
755d9c3f96 Fixed indentation of CALL-UNKNOWN-GLOBAL-LOC. 2011-12-13 20:58:04 +01:00
Juan Jose Garcia Ripoll
b72823aeab SETF functions are now stored in a separate hash table. 2011-12-13 20:53:44 +01:00
Juan Jose Garcia Ripoll
b8b93a4a07 Removed unused files 2011-12-13 14:50:50 +01:00
Juan Jose Garcia Ripoll
bc15b1fc6b A new function do-setf-method-expansion, does the job of expanding setf-methods based on the different closures. 2011-12-13 14:13:21 +01:00
Juan Jose Garcia Ripoll
6564c6f10e DEFSTRUCT now defines SETF-METHODs for its fields. 2011-12-13 11:52:25 +01:00
Juan Jose Garcia Ripoll
42a9abf551 Eliminated SETF-LAMBDA functions, replacing them with a wrapper that transforms them into SETF-METHODs. 2011-12-13 00:32:34 +01:00
Juan Jose Garcia Ripoll
3679e2620b The short form of DEFSETF does no longer use special cases. Instead SETF detects cases in which the variables do not need to be created. 2011-12-12 23:25:54 +01:00
Juan Jose Garcia Ripoll
a38f16f1fa In the interpreter, avoid creating a closure when the lexical environment is empty. 2011-12-11 22:04:43 +01:00
Juan Jose Garcia Ripoll
56ba22d877 In DEFTYPE forms with constant output, simplify the expansion so that no new function is created. 2011-12-11 21:41:42 +01:00
Juan Jose Garcia Ripoll
216408a298 Output a comment with the name of the function/macro besides ecl_cmp_def{un,macro} 2011-12-11 21:41:20 +01:00
Juan Jose Garcia Ripoll
010509f01a Newline in a warning for readability 2011-12-11 18:43:35 +01:00
Juan Jose Garcia Ripoll
b213762774 Remove some redundant proclamations from sysfun.lsp 2011-12-11 18:43:02 +01:00
Juan Jose Garcia Ripoll
6d3302ccab When a compiler macro aborts with an error, ECL just recovers, issues a warning and continues. 2011-12-11 18:20:29 +01:00
Juan Jose Garcia Ripoll
fdd58146e3 DEFCLASS produces more compact argument lists when all :INITFORMs are constant 2011-12-11 16:57:18 +01:00
Juan Jose Garcia Ripoll
eb0082fd83 DEFCLASS now expands in terms of LOAD-DEFCLASS, saving some bytes. 2011-12-11 16:00:11 +01:00
Juan Jose Garcia Ripoll
f46be1d990 Compile the DEFINE-CONDITION forms instead of interpreting them. 2011-12-11 01:07:26 +01:00
Juan Jose Garcia Ripoll
6121a6d510 Add more keywords which are used in CLOS macroexpansions. 2011-12-11 01:06:52 +01:00
Juan Jose Garcia Ripoll
a480e845c0 New 'make recheck' operation 2011-12-11 00:17:16 +01:00
Juan Jose Garcia Ripoll
3f8e05ce29 Set *print-escape* to nil in the debugger 2011-12-11 00:16:57 +01:00
Juan Jose Garcia Ripoll
5ca1a03c86 Instead of defining a PRINT-OBJECT method for each condition, store the function in a slot with :CLASS allocation 2011-12-11 00:16:42 +01:00
Juan Jose Garcia Ripoll
7a39f8eac6 The documentation of a condition is now stored in the class 2011-12-10 22:41:36 +01:00
Juan Jose Garcia Ripoll
5537d0c661 Remove an unused function from defclass.lsp 2011-12-10 22:24:20 +01:00
Juan Jose Garcia Ripoll
ae42fed2be SI:INSTANCEP now returns the class length. 2011-12-10 22:24:10 +01:00
Juan Jose Garcia Ripoll
4b2eca745a Replace more uses of DEFVAR with DEFPARAMETER 2011-12-10 20:12:14 +01:00
Juan Jose Garcia Ripoll
164a297ab5 Space optimizations in predlib.lsp 2011-12-10 19:35:17 +01:00
Juan Jose Garcia Ripoll
df7de09d0b find-built-in-tag now uses a hash table instead of an association list. 2011-12-10 19:31:04 +01:00
Juan Jose Garcia Ripoll
efc7413d28 Load-form for hash tables is now based on EXT:HASH-TABLE-FILL 2011-12-10 19:00:46 +01:00
Juan Jose Garcia Ripoll
05a46aca0b Print readably hash tables using the EXT:HASH-TABLE-FILL 2011-12-10 19:00:09 +01:00
Juan Jose Garcia Ripoll
75c332b452 New functions EXT:HASH-TABLE-CONTENT and EXT:HASH-TABLE-FILL 2011-12-10 18:59:45 +01:00
Juan Jose Garcia Ripoll
d3c3b4347e Added the 'check' target to the toplevel Makefile 2011-12-10 00:19:21 +01:00
Juan Jose Garcia Ripoll
7e1d1e5767 Slight reorganization of _ecl_write_symbol. 2011-12-10 00:14:53 +01:00