X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=OPTIMIZATIONS;h=1f8746f14400565d7246281ee0710e2f5721de78;hb=e8d94e7c0f7efc78627e6347d4441f4176e8d160;hp=7c51f473ac7e0301e123fa41db6094598db835d1;hpb=8f4ef01b8c9930d7dd0a56a96845a6d84ca5774d;p=sbcl.git diff --git a/OPTIMIZATIONS b/OPTIMIZATIONS index 7c51f47..1f8746f 100644 --- a/OPTIMIZATIONS +++ b/OPTIMIZATIONS @@ -169,3 +169,24 @@ then cons up a bignum for it: ((89 125 16) (ASH A (MIN 18 -706))) (T (DPB -3 (BYTE 30 30) -1)))) -------------------------------------------------------------------------------- +#16 +(do ((i 0 (1+ i))) + ((= i (the (integer 0 100) n))) + ...) + +It is commonly expected for Python to derive (FIXNUMP I). (If ``='' is +replaced with ``>='', Python will do.) +-------------------------------------------------------------------------------- +#17 +Type tests for (ARRAY BIT), (ARRAY T) and similar go through full +%TYPEP, even though it is relatively simple to establish the arrayness +of an object and also to obtain the element type of an array. As of +sbcl-0.8.12.30, this affects at least DUMP-OBJECT through +COMPOUND-OBJECT-P, and (LABELS MAYBE-EMIT-MAKE-LOAD-FORMS GROVEL) +through TYPEP UNBOXED-ARRAY, within the compiler itself. +-------------------------------------------------------------------------------- +#18 +(lambda (x) (declare (null x)) (sxhash x)) goes through SYMBOL-HASH +rather than either constant-folding or manipulating NIL-VALUE or +NULL-TN directly. +--------------------------------------------------------------------------------