-
- Downloads
ppc/arith.lisp:
o Comment out the +/fixnum and -/fixnum. The C code doesn't support the fixnum-additive-overflow-trap, and this vop doesn't do enough checking of the args. (defun foo (x y) (the fixnum (+ (the fixnum x) (the fixnum y)))) triggers bad behavior if there's an overflow, or if x or y is not a fixnum. Everything still works without these vops. The check for fixnum args becomes explicit, and the result is explicitly checked for a fixnum result. I'm guessing this was modeled after the Sparc version of these vops, which actually checked the tag bits and for overflow. ppc/parms.lisp: o Remove the fixnum-additive-overflow trap because we don't use it anymore.
Loading
Please register or sign in to comment