Juan Jose Garcia Ripoll
|
169d2997df
|
SI:ECASE-ERROR and ETYPECASE-ERROR are now exported.
|
2011-12-23 15:38:06 +01:00 |
|
Juan Jose Garcia Ripoll
|
24c658e918
|
Fixed proclamation for do-defsetf
|
2011-12-23 12:11:54 +01:00 |
|
Juan Jose Garcia Ripoll
|
cc578f6e3e
|
The inlining of functions is now controlled by a global inline depth.
|
2011-12-23 12:11:32 +01:00 |
|
Juan Jose Garcia Ripoll
|
5fd965c6c3
|
Remove compiler debug messages when building ECL
|
2011-12-23 11:52:25 +01:00 |
|
Juan Jose Garcia Ripoll
|
c789d1ffc2
|
When safety level is above 2, calls to fdefinition and access to global variables is compiled even if the value is discarded. This is done for the side effect of checking whether the function or the variable is bound.
|
2011-12-23 11:37:54 +01:00 |
|
Juan Jose Garcia Ripoll
|
19f41cdd0f
|
Constant fold only when the output is a simple constant.
|
2011-12-19 22:41:48 +01:00 |
|
Juan Jose Garcia Ripoll
|
e361ceada2
|
Check for NaNs among the compiled constants.
|
2011-12-19 22:41:11 +01:00 |
|
Juan Jose Garcia Ripoll
|
6b4dc0c182
|
Yet another iteration about where to store the inline form of a function: the storage has to be enclosed by an eval-when form so that it is never executed when the form is in a LET, LAMBDA, or other expression that can potentially create a closure.
|
2011-12-19 16:52:59 +01:00 |
|
Juan Jose Garcia Ripoll
|
6426a1def7
|
Inlining LAMBDA forms left out the &aux variables
|
2011-12-19 16:51:41 +01:00 |
|
Juan Jose Garcia Ripoll
|
9f992d3d32
|
Prevent MAPC from being expanded in DECLAIM.
|
2011-12-18 21:46:16 +01:00 |
|
Juan Jose Garcia Ripoll
|
ef963a7b18
|
(SETF ...) function names did not undergo the process of checking for compiler macros and inline forms. Now this all is unified under C1CALL
|
2011-12-18 21:31:40 +01:00 |
|
Juan Jose Garcia Ripoll
|
acf582cbd6
|
In src/cmp/cmpopt-clos.lsp, add missing references to the CLOS package.
|
2011-12-18 20:58:41 +01:00 |
|
Juan Jose Garcia Ripoll
|
2ca63fdbf8
|
Reorder the type checks in src/c/clos/accessor.d to achieve more compact code and faster access
|
2011-12-18 20:07:05 +01:00 |
|
Juan Jose Garcia Ripoll
|
db610de56b
|
Note the changes regarding INLINE
|
2011-12-18 19:22:48 +01:00 |
|
Juan Jose Garcia Ripoll
|
f12e4933a1
|
Fixed typo in C:PROCLAIM-INLINE.
|
2011-12-18 19:11:46 +01:00 |
|
Juan Jose Garcia Ripoll
|
3e1fcb7a2c
|
New functions DECLARED-{INLINE,NOTINLINE}-P introduce some clarity in the inline process.
|
2011-12-18 18:49:27 +01:00 |
|
Juan Jose Garcia Ripoll
|
d4f3d0d330
|
FLET and LABELS functions may now be inlined when they are declared so.
|
2011-12-18 18:33:10 +01:00 |
|
Juan Jose Garcia Ripoll
|
480d1dedfd
|
Detect recursive inline functions
|
2011-12-18 18:20:29 +01:00 |
|
Juan Jose Garcia Ripoll
|
6512337535
|
Inline forms can be stored locally (if the function was DECLAIM'ed) or globally (if PROCLAIM'ed)
|
2011-12-18 18:08:10 +01:00 |
|
Juan Jose Garcia Ripoll
|
f0b11d639c
|
Silence the compiler notes about inlined functions
|
2011-12-18 16:59:22 +01:00 |
|
Juan Jose Garcia Ripoll
|
62b981627a
|
Fixed typo in _ecl_funcall5()
|
2011-12-18 16:56:22 +01:00 |
|
Juan Jose Garcia Ripoll
|
a0873b2157
|
ECL now stores the inline form of functions that were declared so
|
2011-12-18 14:23:07 +01:00 |
|
Juan Jose Garcia Ripoll
|
61aa50f929
|
ecl-inl.h is needed by package.d
|
2011-12-18 14:22:26 +01:00 |
|
Juan Jose Garcia Ripoll
|
8d64c2fbad
|
Avoid using CONSTANTLY before it is defined
|
2011-12-18 14:22:09 +01:00 |
|
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 |
|