It would be nice to remove other magic numbers from the patch as well. I have seen several "4" hardcoded in the patch (mostly in SB-VM part of it). It looks like the 32-bit pointer size, but this is not a justification.
In general (not in this patch), magic numbers are quite common in SBCL's SB-VM code, and this is a problem. When I look at this code from call.lisp, I wonder why don't we name the things properly?
(+ (if named 5 0)
(if variable 19 1)
(if (eq return :tail) 0 10)
(if (eq return :unknown) 25 0))
2010/12/30 Alastair Bridgewater <firstname.lastname@example.org>
In the definition for +win32-tib-arbitrary-field-offset+, there is no
commentary as to what this offset corresponds to, it ends up just
being a magic number.