Daniel Kochmanski
15640a79e4
cmp: refactor: qualify package of *-prop interface
...
Usage was mixed, once it is si:put-sysprop, once just put-sysprop. Add
full package qualifiers to put-sysprop/get-sysprop/rem-sysprop.
2017-04-28 11:48:15 +02:00
Daniel Kochmański
31871dc903
cmpcall: remove unused parts
2017-04-28 11:14:56 +02:00
Daniel Kochmański
939f068390
compiler: fix aux_closure creation
...
Bug was probably introduced in a1bc92b05c
Fixes #128 and and misc.319 from ANSI tests.
2016-03-10 14:22:10 +01:00
Matthew Mondor
8f07cd58d8
The ECL code no longer uses tabulator characters, they were replaced
...
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
4d19a27424
cosmetic: untabify
...
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-21 14:38:20 +02:00
Juan Jose Garcia Ripoll
d9731f9527
Add spaces after commas in compiled function calls.
2012-12-02 00:55:37 +01:00
Juan Jose Garcia Ripoll
62d3dd9731
Do not write C comments when the name of the invoked function is evident from the C code
2012-12-02 00:50:38 +01:00
Juan Jose Garcia Ripoll
18abdba4e1
The CALL-NORMAL location in the compiler now remembers the type of its output (needed by wt-coerce-loc)
2012-06-02 10:54:43 +02:00
Juan Jose Garcia Ripoll
d5fd199116
Added some IGNORE declarations and fixed some references to undefined variables.
2011-12-28 16:33:27 +01:00
Juan Jose Garcia Ripoll
a097641aff
In C2CALL-GLOBAL use the form primary type as expected type.
2011-12-28 15:59:13 +01:00
Juan Jose Garcia Ripoll
d9d6d6864d
C2 functions now receive the C1FORM as an argument.
2011-12-28 12:00:01 +01:00
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
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
4496a85039
More fixes to remove warnings about unused variables
2011-12-23 22:36:32 +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
755d9c3f96
Fixed indentation of CALL-UNKNOWN-GLOBAL-LOC.
2011-12-13 20:58:04 +01:00
Juan Jose Garcia Ripoll
e27974cf76
Unknown FUNCALL forms must be tagged as side-effect full
2010-10-23 00:53:35 +02:00
Juan Jose Garcia Ripoll
1ca77df9bc
Changed the way INLINE-ARGUMENTS works: temporary variables are now created based on the representation type of the inlined value, not on its expected types. Furthermore, expected types are no longer an argument to INLINE-ARGUMENTS.
2010-05-27 23:49:47 +02:00
Juan Jose Garcia Ripoll
910e79852e
Instead of using system property lists, create dispatch tables for handling the C1, T1, C2 forms and others.
2010-05-26 12:12:57 +02:00
Juan Jose Garcia Ripoll
2495ae0b8e
Toplevel DEFMACRO forms are processed differently and stored by the compiler in a local table. These definitions do not propagate beyond the currently compiled file.
2010-05-07 22:20:14 +02:00
Juan Jose Garcia Ripoll
6a91d3b45a
Refactored code so that it is shared by cmp and new-cmp:
...
* Use the new proclamations/sysfun.lsp files from the new compiler.
* We split src/cmp/cmpdefs.lsp into cmpdefs, cmppackage, cmptypes and cmpglobals
* Split cmpform.lsp out of cmpmac.lsp
* Merged in {cmp,new-cmp}/cmpc-wt.lsp some of the cmpmac wt routines
* Use functions instead of macros for the WT-* operations
* Split out from *cmp/cmpenv.lsp a file cmppolicy.lsp
* A single file, cmpenv-api.lsp for the manipulation of environments.
* The type comparison functions go into cmptype-arith.lsp and are cached.
* The code that propagates types in function calls goes into cmptype-prop.lsp.
* The remainings of cmpenv go into cmpenv-{declare,proclaim,declaim}.
Associated fixes:
* Fixed typo and wrong proclamation for SI:GET-SYSPROP.
* Fixed typo in SIMPLIFY-ARITHMETIC.
* Explicitely set the debug level when building ECL
* All declarations are stored in the compiler environment.
* Each function and form stores the compilation environment.
* Declaration POLICY-DEBUG-IHS-FRAME is acts only on the function environment.
* Make the definition if ihs_env only happen when it is used.
* Eliminated *notinline*, *inline-functions* and *function-declarations*
* Slightly more efficient creation of accessors in kernel.lsp
* Remove the proxy C2DECL-BODY
* Fix the order of declarations in SI:PROCESS-DECLARATIONS
* Reimplemented C1BODY using SI:PROCESS-DECLARATIONS
* DECLAIM's proclamation do not propagate beyond the compiled file.
2010-05-05 17:36:19 +02:00
Juan Jose Garcia Ripoll
e8cecf9935
Declarations for all Common Lisp functions.
...
Split out a new file, proclamations.lsp, with the declarations oof the types of functions in the ANSI specification and in ECL's extensions.
2010-04-30 14:40:36 +02:00
Juan Jose Garcia Ripoll
99cdc4dae7
CALL-GLOBAL-LOC used the values type of a c1form instead of the primary type and thus no safe inline form from sysfun.lsp matched any reasonable expansion.
2009-07-13 12:06:01 +02:00
Juan Jose Garcia Ripoll
759fa298ab
Remove a debug assertion.
2009-07-08 23:02:34 +02: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
d73d12ae35
Replaced some calls to ERROR with CMPERR so that they can be trapped by the user. Changed the implementation of WITH-COMPILER-ENV to avoid that all COMPILER-ERRORs are re-signaled as compiler internal errors.
2009-06-25 11:01:41 +02:00
Juan Jose Garcia Ripoll
0424caf763
Do not pass a location to CALL-UNKNOWN-GLOBAL when we do not have a function object.
2009-04-02 15:20:56 +02:00
Juan Jose Garcia Ripoll
00892c7569
In wt-call, coerce directly to cl_object so that C++ compiler dos not complain.
2009-03-28 23:06:27 +01:00
Juan Jose Garcia Ripoll
d4c9460c32
Fix the criteria for using inlined expansions from sysfun.lsp.
2009-03-06 23:51:17 +01:00
Juan Jose Garcia Ripoll
83e6a0f77e
Simplified the C code for fast function calls.
2009-02-16 12:44:28 +01:00
Juan Jose Garcia Ripoll
a475d5bcba
Simplified c2call-global by taking the type propagation for (SETF AREF)/AREF into separate functions
2009-02-15 23:53:03 +01:00
Juan Jose Garcia Ripoll
21ab17c30b
During compilation of function calls, the NARG parameter is useless, since it can be calculated.
2009-02-15 20:05:53 +01:00
Juan Jose Garcia Ripoll
ed0a29b5b9
Simplified C2FUNCALL eliminating unused code
2009-02-15 19:40:17 +01:00
Juan Jose Garcia Ripoll
afdd5b9831
Small typo.
2009-02-15 18:58:23 +01:00
Juan Jose Garcia Ripoll
85cf59cee6
Fixed typo.
2009-02-15 13:19:04 +01:00
Juan Jose Garcia Ripoll
75d0ea3434
Allow calling a function object directly by the entry pointer.
2009-02-15 13:10:24 +01:00
Juan Jose Garcia Ripoll
a1bc92b05c
Changed the way closures are invoked, to make them similar to generic functions and bytecodes
2009-02-15 12:05:56 +01:00
Juan Jose Garcia Ripoll
f35ca512a2
Code for directly using the pointers in function objects.
2009-02-15 00:06:49 +01:00
Juan Jose Garcia Ripoll
9f42309fbd
Finished the new dispatch code.
2009-02-14 00:01:57 +01:00
Juan Jose Garcia Ripoll
f096fdac51
Initial changes for a common dispatch function
2009-02-13 17:05:21 +01: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
Juan Jose Garcia Ripoll
325b1069d8
Fixed typos
2008-09-04 23:12:53 +02:00
Juan Jose Garcia Ripoll
e10d4340c5
Speed up calling unknown functions by having a local frame that we reuse
2008-06-29 02:32:01 +02:00
Juan Jose Garcia Ripoll
0ef7fe2609
Fixed typo
2008-06-28 20:06:56 +02:00
Juan Jose Garcia Ripoll
ff1a3fd144
Reuse code for long function calls
2008-06-28 19:31:14 +02:00
jgarcia
8f28327ddf
Simplifed MAKE-ARRAY. Deactivated the old garbage collector. New optimizers for MAKE-ARRAY and VECTOR-PUSH*. Declarations are now held in *cmp-env* instead of in global variables.
2008-05-18 20:08:39 +00:00
jgarcia
504fe5df73
LOAD-TIME-VALUE is no longer a macro
2008-04-24 11:15:34 +00:00
jgarcia
52f4df1901
Merged the new function call code
2008-02-16 10:28:32 +00:00
jgarcia
9db24c5617
If DEBUG >= 2, do not use direct calls to exported functions.
2008-02-09 20:17:36 +00:00
jgarcia
fadcaf2d0c
Calls to functions defined later in the same file were still done directly
2008-02-09 19:38:50 +00:00