Juan Jose Garcia Ripoll
|
c2e2171dc0
|
Avoid recursive invocation of C1EXPR by allowing the C1 processors to act like macros, returning new forms to be processed. Remove also the CATCH for compiler errors, since we now rely on conditions for signal handling.
|
2011-12-27 12:36:52 +01:00 |
|
Juan Jose Garcia Ripoll
|
24c0b37d9a
|
Interpret LET/LET* type declarations as assertions to be tested.
|
2011-12-27 00:06:17 +01:00 |
|
Juan Jose Garcia Ripoll
|
d71e202945
|
Replace some DO forms with LOOPs, thus also fixing some type declarations.
|
2011-12-27 00:05:57 +01:00 |
|
Juan Jose Garcia Ripoll
|
839d86628e
|
Remove unused variable.
|
2011-12-26 23:59:10 +01:00 |
|
Juan Jose Garcia Ripoll
|
8e22061e57
|
The argument to DEFPACKAGE is a string designator, not (OR SYMBOL STRING)
|
2011-12-26 23:58:47 +01:00 |
|
Juan Jose Garcia Ripoll
|
2feea55b31
|
Propagate the type of a function when invoked through APPLY
|
2011-12-26 23:16:13 +01:00 |
|
Juan Jose Garcia Ripoll
|
92d1290de4
|
Turn CHECKED-VALUE into a special form to speed up a bit processing and also to generate less compiled forms.
|
2011-12-26 22:59:09 +01:00 |
|
Juan Jose Garcia Ripoll
|
7d7dcccef8
|
Only emit type checks for nontrivial types.
|
2011-12-26 22:10:01 +01:00 |
|
Juan Jose Garcia Ripoll
|
1a3d3cd2ce
|
Optimize C1COMPILER-TYPECASE for the case in which the first form already satisfies the check in the first pass.
|
2011-12-26 21:58:16 +01:00 |
|
Juan Jose Garcia Ripoll
|
ecd9dd2470
|
Implemented type assertions using EXT:COMPILER-TYPECASE so that they can be optimized away.
|
2011-12-26 20:42:11 +01:00 |
|
Juan Jose Garcia Ripoll
|
281fe567d4
|
In "make mostlyclean", only enter those directories that exist.
|
2011-12-26 20:35:09 +01:00 |
|
Juan Jose Garcia Ripoll
|
24debdf161
|
Fix additional warnings about unused variables and variables which are assumed global in the compiler.
|
2011-12-26 17:59:16 +01:00 |
|
Juan Jose Garcia Ripoll
|
481302642f
|
Fixed typo in various compiler macros (cmpopt-printer.lsp)
|
2011-12-26 16:58:35 +01:00 |
|
Juan Jose Garcia Ripoll
|
e360d9000c
|
Coerce to string before calling FIND-SYMBOL.
|
2011-12-26 10:03:54 +01:00 |
|
Juan Jose Garcia Ripoll
|
d8a74f6357
|
Introduced compulsory and optional type assertions for arbitrary types, not only those known to the compiler. LAMBDA arguments type checks are rewritten in terms of those now.
|
2011-12-26 10:03:54 +01:00 |
|
Juan Jose Garcia Ripoll
|
ad0c81bff4
|
The macro expander for DOLIST in the compiler is now a compiler macro. It also uses an implicit TAGBODY around the body of the DOLIST.
|
2011-12-26 09:47:00 +01:00 |
|
Juan Jose Garcia Ripoll
|
3067537c33
|
When TYPEP receives an unknown type, or a contradictory type, it can not ignore it.
|
2011-12-24 17:04:58 +01:00 |
|
Juan Jose Garcia Ripoll
|
8658613e7d
|
Change macro WITH-START-END to eliminate a warning about unused variables
|
2011-12-23 22:50:40 +01:00 |
|
Juan Jose Garcia Ripoll
|
7a0b3643a7
|
In OF-CLASS-P, remove warning about a variable type.
|
2011-12-23 22:40:25 +01:00 |
|
Juan Jose Garcia Ripoll
|
4496a85039
|
More fixes to remove warnings about unused variables
|
2011-12-23 22:36:32 +01:00 |
|
Juan Jose Garcia Ripoll
|
065dd6b59e
|
TRAP-FPE is not needed in the core lisp library
|
2011-12-23 20:26:37 +01:00 |
|
Juan Jose Garcia Ripoll
|
02db89a9bc
|
The macro expander for DOLIST uses only LET, not SETQ. This way the type declarations are not incompatible with the initial values of the loop.
|
2011-12-23 19:41:39 +01:00 |
|
Juan Jose Garcia Ripoll
|
a9a110f211
|
Improve the compiler message in C1SETQ1.
|
2011-12-23 19:29:13 +01:00 |
|
Juan Jose Garcia Ripoll
|
62ae818c04
|
Fixed typo in C1CALL-CONSTANT-FOLD
|
2011-12-23 16:05:18 +01:00 |
|
Juan Jose Garcia Ripoll
|
7a2d30770b
|
Add IGNORE declarations and remove some unused variables.
|
2011-12-23 15:38:37 +01:00 |
|
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 |
|