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
|
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
|
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
|
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
|
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
|
c0f1d43b60
|
Improve inliners for SI:INSTANCE-CLASS and SI:INSTANCE-REF
|
2011-12-15 11:14:13 +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
|
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
|
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
|
eb0082fd83
|
DEFCLASS now expands in terms of LOAD-DEFCLASS, saving some bytes.
|
2011-12-11 16:00:11 +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
|
1e0cfe9174
|
Simplified the compiler macro for NTH and NTHCDR.
|
2011-12-03 23:43:06 +01:00 |
|
Juan Jose Garcia Ripoll
|
08caf83740
|
Compiler macro for REST, removing C-inline forms.
|
2011-12-03 23:38:26 +01:00 |
|
Juan Jose Garcia Ripoll
|
7a2678acb2
|
Compiler macros optimize first, second,...
|
2011-12-03 23:34:09 +01:00 |
|
Juan Jose Garcia Ripoll
|
f26a13885e
|
Removed unused location types and replaced CAR/CDR uses with C inline functions in src/cmp
|
2011-12-03 22:43:48 +01:00 |
|
Juan Jose Garcia Ripoll
|
bb0ca9163f
|
FIRST, SECOND, THIRD, FOURTH and REST inlined using the new functions in cons.h
|
2011-12-03 21:42:05 +01:00 |
|
Juan Jose Garcia Ripoll
|
b857c4836d
|
Use the new functions [_]ecl_c[ad]+r() functions in the Lisp2C compiler
|
2011-12-03 21:08:34 +01:00 |
|
Juan Jose Garcia Ripoll
|
27c01f4847
|
Optimize POP using a compiler macro.
|
2011-12-03 11:29:59 +01:00 |
|
Juan Jose Garcia Ripoll
|
7690ab6a16
|
DESTRUCTURE now runs over the argument list using CAR and CDR, and producing slightly faster code.
|
2011-12-03 09:11:15 +01:00 |
|
Juan Jose Garcia Ripoll
|
7e2a861fbf
|
Remove :PURE attribute from some functions that construct new objects or return non-externalizable objects
|
2011-12-01 23:22:10 +01:00 |
|
Juan Jose Garcia Ripoll
|
0372c80ce2
|
Evaluate pure functions when their arguments are all constant (src/cmp/cmpeval.lsp)
|
2011-12-01 23:04:21 +01:00 |
|
Juan Jose Garcia Ripoll
|
e2fbe37fcd
|
LOC-IMMEDIATE-VALUE-P did not return the appropriate value for character locations
|
2011-12-01 22:56:23 +01:00 |
|
Juan Jose Garcia Ripoll
|
c724eacb24
|
New function c1form-constant-p in src/cmp/cmpform.lsp
|
2011-12-01 22:25:39 +01:00 |
|
Juan Jose Garcia Ripoll
|
5496db2b94
|
SAFE-LIST-LENGTH rewritten to avoid use of HANDLER-CASE
|
2011-12-01 22:25:13 +01:00 |
|
Juan Jose Garcia Ripoll
|
702a4c6e3c
|
Fixed the first argument to SEQ-OPT-PARSE-ARGS in cmpopt-sequence.lsp
|
2011-12-01 21:00:48 +01:00 |
|
Juan Jose Garcia Ripoll
|
eb884293c7
|
Fixed inliner for ASH.
|
2011-11-19 19:07:07 +01:00 |
|
Juan Jose Garcia Ripoll
|
3dc9c5a8a0
|
Remove function types from those in the automatic type checks.
|
2011-11-19 16:48:20 +01:00 |
|