X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fsystem.lisp;h=86cc5001d9d8a3887133589ab22915feb415a56a;hb=b5703d98da9ebfd688c87e14862ab4e26dc94d14;hp=89cac6d9c426990dcdd1dc8dce6ff94952375e8a;hpb=b80843eb9c1a6acb15d477f855a6f9d0f1c0b15b;p=sbcl.git diff --git a/src/compiler/x86/system.lisp b/src/compiler/x86/system.lisp index 89cac6d..86cc500 100644 --- a/src/compiler/x86/system.lisp +++ b/src/compiler/x86/system.lisp @@ -214,9 +214,6 @@ :disp (- function-pointer-type other-pointer-type))) (inst add func code))) -;;; REMOVEME -(defknown %function-self (function) function (flushable)) - (define-vop (%function-self) (:policy :fast-safe) (:translate %function-self) @@ -238,9 +235,6 @@ (def-source-transform %funcallable-instance-function (fin) `(%function-self ,fin)) -;;; REMOVEME -(defknown (setf %function-self) (function function) function (unsafe)) - (define-vop (%set-function-self) (:policy :fast-safe) (:translate (setf %function-self)) @@ -256,10 +250,13 @@ (storew temp function function-self-slot function-pointer-type) (move result new-self))) -;;; REMOVEME +;;; KLUDGE: This seems to be some kind of weird override of the way +;;; that the objdef.lisp code would ordinarily set up the slot +;;; accessor. It's inherited from CMU CL, and it works, and naively +;;; deleting it seemed to cause problems, but it's not obvious why +;;; it's done this way. Any ideas? -- WHN 2001-08-02 (defknown ((setf %funcallable-instance-function)) (function function) function - (unsafe)) - + (unsafe)) ;;; CMU CL comment: ;;; We would have really liked to use a source-transform for this, but ;;; they don't work with SETF functions.