X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/3ee33e04477ace9d13587f28253fb8c6d1c7ed6c..2c6153373f927d948a74b283ebb16330af8ee49a:/src/method-proto.lisp diff --git a/src/method-proto.lisp b/src/method-proto.lisp index d2ab761..0488374 100644 --- a/src/method-proto.lisp +++ b/src/method-proto.lisp @@ -288,9 +288,9 @@ (:documentation "Returns true if the effective METHOD is live. - An effective method is `live' if it should actually have proper method entry - functions associated with it and stored in the class vtable. The other - possibility is that the method is `dead', in which case the function + An effective method is `live' if it should actually have proper method + entry functions associated with it and stored in the class vtable. The + other possibility is that the method is `dead', in which case the function pointers in the vtable are left null.")) ;;;-------------------------------------------------------------------------- @@ -478,11 +478,13 @@ ((keyword-message-p message) (cons (make-argument *sod-key-pointer* (c-type (* (void :const)))) - raw-args)))) + raw-args)) + (t raw-args))) (*keyword-struct-disposition* (if (effective-method-keywords method) :pointer :null))) (codegen-push codegen) (ensure-ilayout-var codegen super) + (deliver-call codegen :void "SOD__IGNORE" "sod__obj") (when (keyword-message-p message) (if (eq *keyword-struct-disposition* :null) (deliver-call codegen :void "SOD__IGNORE" *sod-key-pointer*)