From: Nikodemus S. <de...@us...> - 2007-12-17 13:34:32
|
Update of /cvsroot/sbcl/sbcl/doc/manual In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv32366/doc/manual Modified Files: compiler.texinfo Log Message: 1.0.12.35: more safety -- less weakening of type checks * Weaken type check only if SAFETY < 2, and SAFETY < SPEED. Thus SAFETY 2 becomes a "always full type checks". * Delete a stale comment above MAYBE-NEGATE-CHECK about weakening checks there -- this has not been the case since 0.7.9.41. * Fix type errors in target-sxhash.lisp that was masked by the weakening that used happen there. * Update commentary re. PROBABLE-TYPE-CHECK-P as per Alexey's email on sbcl-devel. Delete some other stale comments re. weakening. * Update the manual re. weakened type checks. Index: compiler.texinfo =================================================================== RCS file: /cvsroot/sbcl/sbcl/doc/manual/compiler.texinfo,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- compiler.texinfo 7 Nov 2007 07:24:55 -0000 1.15 +++ compiler.texinfo 17 Dec 2007 13:34:27 -0000 1.16 @@ -515,14 +515,16 @@ All declarations are considered assertions to be checked at runtime, and all type checks are precise. -Used when @code{(>= safety (max speed space compilation-speed)}. The +Used when @code{(and (< 0 safety) (or (>= safety 2) (>= safety speed)))}. The default compilation policy provides full type checks. @item Weak Type Checks Any or all type declarations may be believed without runtime -assertions, and assertions that are done may be imprecise. +assertions, and assertions that are done may be imprecise. It should +be noted that it is relatively easy to corrupt the heap when weak type +checks are used, and type-errors are introduced into the program. -Used when @code{(< 0 safety (max speed space compilation-speed)}. +Used when @code{(and (< safety 2) (< safety speed))} @item No Type Checks All declarations are believed without assertions. Also disables |