Commit graph

1112 commits

Author SHA1 Message Date
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
Juan Jose Garcia Ripoll
ff6e7efc03 The compiler is less verbose 2011-11-19 16:47:50 +01:00
Juan Jose Garcia Ripoll
25d655d159 Remove debuggin statement from cmp/cmpwt.lsp 2011-11-19 00:03:22 +01:00
Juan Jose Garcia Ripoll
e5de9aa7b1 DATA-C-DUMP did not produce an empty text array (data_text = NULL) when compiling functions (not FASL). 2011-11-18 23:58:02 +01:00
Juan Jose Garcia Ripoll
c4966bd006 base-char maps to unsigned char, not to "char". 2011-11-18 16:53:37 +01:00
Juan Jose Garcia Ripoll
d130b21f96 Deactivate *compile-in-constants* only in Windows 2011-11-17 17:14:34 +01:00
Juan Jose Garcia Ripoll
704964093f If a file does not use MMAPed data, allow it. 2011-11-14 23:35:45 +01:00
Juan Jose Garcia Ripoll
181c12947f Remove /EXPORT option from ECL, to avoid duplicated exports in Windows64.
This is perfectly safe for ECL already uses ECL_DLLEXPORT to announce names.
2011-11-13 15:34:04 +01:00
Juan Jose Garcia Ripoll
72a882078c Remove debug statement from C::C1NOT. 2011-11-12 18:10:13 +01:00
Juan Jose Garcia Ripoll
3c731219df *compile-in-constans* does not work with the test suite. 2011-11-12 00:10:30 +01:00
Juan Jose Garcia Ripoll
ea0fdff007 Avoid further uses of make_simple_base_string. 2011-11-06 10:02:55 +01:00
Juan Jose Garcia Ripoll
9e1d0a97b5 *compile-in-constants* defaults to t everywhere else outside Windows 2011-11-06 09:58:03 +01:00
Juan Jose Garcia Ripoll
8bb0b8a25f Added optimizers for PRINT, PRINC and TERPRI based on compiler macros. 2011-11-05 20:18:52 +01:00
Juan Jose Garcia Ripoll
9a10cd1767 Removed obsolete optimizers for PRINC and TERPRI 2011-11-05 20:18:02 +01:00
Juan Jose Garcia Ripoll
96789977a8 New function to transform strings into C expressions 2011-11-05 20:16:40 +01:00
Juan Jose Garcia Ripoll
5039d33867 When optimizing NOT over location arguments the compiler sometimes failed to check whether those locations where constant. 2011-10-29 22:05:03 +02:00
Juan Jose Garcia Ripoll
6f0aa55cba When writing characters, ECL used the '...' syntax in C but this creates signed integers which then have problems when promoted to cl_fixnum via CODE_CHAR. 2011-10-29 21:52:28 +02:00
Juan Jose Garcia Ripoll
7beedc12c8 Fixed list of compiled/library/executable file extensions in cmpmain.lsp 2011-10-29 20:30:46 +02:00
Juan Jose Garcia Ripoll
d8b042877e Changed the entry point of compiled code, which now takes either a codeblock or OBJNULL. 2011-09-04 19:18:30 +02:00