Alexey Dejneka wrote: > > Ivan Boldyrev <[EMAIL PROTECTED]> writes: > > > On 8689 day of my life Raymond Toy wrote: > > > If you really MUST have fast fixnum, here is one way to do it in > > > cmucl. > > > > > > (in-package :vm) > > > (defknown fixnum+ (fixnum fixnum) > > > fixnum > > > (movable foldable flushable)) > > > > > > (define-vop (fixnum-add fast-+/fixnum=>fixnum) > > > (:translate fixnum+)) > > > > > > (defun fixnum+ (x y) > > > (declare (fixnum x y)) > > > (fixnum+ x y)) > > > > > > Then > > > > > > (vm:fixnum+ most-positive-fixnum 1) => -536870912 > > > > It's exactly what I want! But when I try (fixnum+ anything1 > > anything2), it just loops and cons a memory... I can't fix it without > > your help, because I don't understand anyting here :( > > Wrap (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) ...) > around DEFKNOWN and DEFINE-VOP. If it does not help, replace DEFUN > with (SETF FDEFINITION).
Sorry to rush in the topic, but can someone give me exact code for this module? (especially concerning the eval-when) I would like to see it running and then look in the documentation what means what (eval-when, defknown, define-vop... ) In advance, thanks for any help. -- ----------------------------------- Jonathan BAILLEUL, Doctorant GREYC Image - Universit� de Caen http://www.greyc.ismra.fr/~bailleul
