Commit graph

5196 commits

Author SHA1 Message Date
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
Juan Jose Garcia Ripoll
a6d30df567 Global type declarations cannot be used for local functions and lambda forms with the same names. 2012-12-18 22:19:12 +01:00
Juan Jose Garcia Ripoll
6adc64d00c FTYPE declarations allow (FUNCTION *) and (FUNCTION * *) and (FUNCTION * some-type), etc 2012-12-18 22:00:27 +01:00
Juan Jose Garcia Ripoll
ddc7080758 Missing argument to LOGAND 2012-12-18 21:37:53 +01:00
Juan Jose Garcia Ripoll
8b02d96774 In type propagators, the function name is rarely use: declare it ignorable 2012-12-18 21:37:53 +01:00
Juan Jose Garcia Ripoll
eeb65d8e6d The ignored variables warning is now a style warning. Similar to a warning about ignored forms without side effect, which is a compiler note. 2012-12-18 21:29:03 +01:00
Juan Jose Garcia Ripoll
65fb09cfce Remove spurious warnings about required arguments not being used in methods 2012-12-18 21:20:35 +01:00
Juan Jose Garcia Ripoll
5d59463fd9 Null terminate the base-strings created by make-array. 2012-12-17 22:37:00 +01:00
Juan Jose Garcia Ripoll
4af105a5ae (CONCATENATE 'SIMPLE-BASE-STRING ...) returns an ordinary string. 2012-12-17 21:28:20 +01:00