Commit graph

5915 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
60ecb61543 enter_directory() writes out a string with a null character when a directory does not exist. 2013-01-12 19:40:23 +01:00
Juan Jose Garcia Ripoll
73f1ef1cab sharp_left_parenthesis_reader() now relies on a separate function and may even handle `#3(1 ,@(...) ...) 2013-01-12 12:19:01 +01:00
Juan Jose Garcia Ripoll
a74fe172c7 Added built in classes FIXNUM and BIGNUM. 2013-01-12 10:16:31 +01:00
Juan Jose Garcia Ripoll
7c9ee7bd78 (SETF GENERIC-FUNCTION) is now a generic function. 2013-01-12 10:16:09 +01:00
Juan Jose Garcia Ripoll
f7afeb4c34 Print integers using upcase letters for radix > 10 (P. Salvi) 2013-01-12 09:37:54 +01:00
Juan Jose Garcia Ripoll
bcfc297992 The profiler chockes on (SETF ...) function names and on symbol names without package name (stassats) 2013-01-12 00:23:55 +01:00
Juan Jose Garcia Ripoll
1e86f06fcf Declare the temporary variables in DEFMACRO/DESTRUCTURING-BIND as IGNORABLE 2013-01-12 00:15:40 +01:00
Juan Jose Garcia Ripoll
8f8c4b8f70 The :documentation of a slot was stored as a list, not as a single string. 2013-01-12 00:15:19 +01:00
Juan Jose Garcia Ripoll
f7e1919eef UPDATE-INSTANCE-FOR-REDEFINED-CLASS received an alist instead of a propertly-list as last argument 2013-01-11 23:52:55 +01:00
Juan Jose Garcia Ripoll
54372deb73 CONSTANT-FORM-VALUE and CONSTANTP-INNER cannot be referenced as C functions because they must change, depending on the compiler 2013-01-11 23:52:18 +01:00
Juan Jose Garcia Ripoll
f6a1292b13 Minor optimization in CONSTANT-FORM-VALUE 2013-01-11 23:51:35 +01:00
Juan Jose Garcia Ripoll
86a90f5ef9 Restore a WITH-CLEAN-SYMBOLS wapping the expansion of an array bounds check. 2013-01-11 23:50:37 +01:00
Juan Jose Garcia Ripoll
d1ee053ccd Fix further uses of CONSTANTP+EVAL, replacing them with CONSTANT-FORM-VALUE and using the environment. 2013-01-11 22:55:49 +01:00
Juan Jose Garcia Ripoll
271df28de1 CONSTANT-VALUE-FORM and CONSTANTP-INNER's environment value is now optional 2013-01-11 22:53:53 +01:00
Juan Jose Garcia Ripoll
7bec81a367 Ensure CONSTANTP is used with an environment value 2013-01-11 09:41:41 +01:00
Juan Jose Garcia Ripoll
098f867c0a DEFTYPE assumes that a constant form is equal to its own value 2013-01-11 00:00:02 +01:00
Juan Jose Garcia Ripoll
5f6b88d609 Split CONSTANTP into two functions CONSTANTP-INNER + CONSTANT-FORM-VALUE that can be overwritten by the compiler 2013-01-10 23:59:34 +01:00
Juan Jose Garcia Ripoll
55b9e9dc91 Suppress compiler warnings when running the ANSI tests 2013-01-10 10:03:34 +01:00
Juan Jose Garcia Ripoll
4f00e74ca0 No optional type check generated for constant values. 2013-01-10 10:03:33 +01:00
Juan Jose Garcia Ripoll
3da57e381a In the compiler LET transforms constant variables (tagged by :READ-ONLY) that take constant forms into SYMBOL-MACROLET 2013-01-10 10:03:33 +01:00
Juan Jose Garcia Ripoll
309af6dbe2 CONSTANTP now performs a bit more work, macroexpanding forms. 2013-01-10 10:03:33 +01:00
Juan Jose Garcia Ripoll
faa39d2f50 CONSTANT-EXPRESSION-P now checks whether the 1-form is pure before checking the arguments. 2013-01-10 00:54:08 +01:00
Juan Jose Garcia Ripoll
67c76f0ad4 CONSTANT-VALUE-P and friends now use the (compiler) environment. 2013-01-10 00:49:32 +01:00
Juan Jose Garcia Ripoll
f1fede5264 C1COMPILER-TYPECASE now handles constant values as well as variables. 2013-01-10 00:48:58 +01:00
Juan Jose Garcia Ripoll
5cad0b240c Slightly better setf-expander for LDB and MASK-FIELD in cmpopt-bits.lsp 2013-01-10 00:22:06 +01:00
Juan Jose Garcia Ripoll
2dc822c93a Added optimizers for DPB and DEPOSIT-FIELD, and fixed WITH-LET*-TYPE-CHECK. 2013-01-09 16:08:31 +01:00
Juan Jose Garcia Ripoll
20ac97795e Simplified the inliners for ldb, ldb-test and mask-field introducing a new macro that introduces the type checks and optimizes out constant values. 2013-01-09 15:53:16 +01:00
Juan Jose Garcia Ripoll
40ddf4d58d Compiler macro for MASK-FIELD 2013-01-09 15:00:46 +01:00
Juan Jose Garcia Ripoll
0eb963ec39 Inline (LDB-TEST (BYTE ...) ...) 2013-01-09 11:04:10 +01:00
Juan Jose Garcia Ripoll
be75d35f88 LDB can be inlined whenever the argument begins with (BYTE ...) 2013-01-09 10:55:42 +01:00
Juan Jose Garcia Ripoll
84cb080e78 Rewrite LDB and friends in a way which can be reused by the compiler macros in src/cmp/cmpopt-bits.lsp 2013-01-09 10:25:55 +01:00
Juan Jose Garcia Ripoll
4b2e293a48 Added optimizer for LDB-TEST 2013-01-09 00:40:38 +01:00
Juan Jose Garcia Ripoll
b284b74e40 (LDB (BYTE ...) ...) does not cons a BYTE object, even if the arguments of BYTE have unknown types. 2013-01-09 00:38:34 +01:00
Juan Jose Garcia Ripoll
297c0bc078 In src/cmp/cmptype.lsp, the optional type check is omitted when the argument is a constant value of the right type. 2013-01-09 00:28:03 +01:00
Juan Jose Garcia Ripoll
fe85aebbc9 Removed the "-w" option from compiler-cc so that it works with clang. 2013-01-09 00:00:53 +01:00
Juan Jose Garcia Ripoll
a9cb6a48c5 Fixed typo in the code that compiles a coercion from a Lisp integer to an unsigned long (M. Cox) 2013-01-08 23:58:06 +01:00
Juan Jose Garcia Ripoll
72d0b9d27a Fixed the patch_sharp() routine so that #3(x) returns #(x x x). 2013-01-08 23:53:04 +01:00
Juan Jose Garcia Ripoll
a869a5a570 patch_sharp() takes a lisp environment as argument 2013-01-08 23:24:32 +01:00
Juan Jose Garcia Ripoll
ebafa5f275 Added the Unicode character database to the C library 2012-12-26 22:31:37 +01:00
Juan Jose Garcia Ripoll
b6519e5c7a Updating a class (due to a change in metaclass) forces updating its children 2012-12-21 00:12:53 +01:00
Juan Jose Garcia Ripoll
0e64774fbe Added a declaration to name LAMBDA forms even when we do not use EXT:LAMBDA-BLOCK 2012-12-21 00:12:53 +01:00
Juan Jose Garcia Ripoll
39bc148181 Added more function references to cl_symbols. 2012-12-20 09:40:04 +01:00
Juan Jose Garcia Ripoll
d57393f38e Add a few more functions to cl_core. 2012-12-20 00:09:52 +01:00
Juan Jose Garcia Ripoll
ee997b11f1 Added some code to know which functions can be moved into cl_symbols 2012-12-19 23:30:13 +01:00
Juan Jose Garcia Ripoll
d1a2ad7a4e Some statements from si::bc-disassemble were written to the wrong stream 2012-12-19 23:29:32 +01:00
Juan Jose Garcia Ripoll
b2889a6627 STANDARD-INSTANCE-GET is now used to provide a SETF form for STANDARD-INSTANCE-ACCESS 2012-12-19 23:05:24 +01:00
Juan Jose Garcia Ripoll
0f2688147d Merged STANDARD-INSTANCE-GET and STANDARD-INSTANCE-ACCESS. 2012-12-19 22:44:01 +01:00
Juan Jose Garcia Ripoll
7a443b5278 (SETF DOCUMENTATION) did not operate on functions because the function object documentation had precedence over the annotation. 2012-12-19 21:00:33 +01:00
Juan Jose Garcia Ripoll
8ac2ec408c The accessor dispatch code must contemplate the possibility that it gets a non-standard class. In order to implement this, we ensure that SLOT-VALUE and (SETF SLOT-VALUE) are availabe as C functions right at boot time. 2012-12-18 23:24:13 +01:00
Juan Jose Garcia Ripoll
3c4986d389 Removed std-class-optimized-accessors, which has been superseded by the code in src/c/clos/accessors.d 2012-12-18 23:23:05 +01:00