REMOVE CACHES: r14460 changes FASL entry point name
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Patch for ASDF2.26.32 to support concatenated fasls for ABCL
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Support for concatenated fasls
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Other findings (was Re: Questions about r14452 (Fix cl-cont))
Well, to some extent I can see your problem. Indeed there seem to be no slots in the 'MOP:FUNCALLABLE-STANDARD-OBJECT class. The layoutFuncallableStandardClass is what confused me, but that's indeed the layout of the metaclass.So, you're correct that the fix works by accident. The solution should be to add a slot by the name 'MOP::NAME to the FUNCALLABLE-STANDARD-OBJECT. That slot can contain the name of the object (ie function) for which the item is defined. In that case, we should probably remove the direct slot MOP::NAME on the standard generic function, since it's already defined on the superclass if we decide to do that.
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Re: Questions about r14452 (Fix cl-cont)
Hi Rudi,
Basically the expectation we violated was the fact that %set-lambda-name didn't want to take a funcallable instance as its function argument. The commit changed that and used the first slot of the funcallable instance class layout (called NAME) to store the name. I guess we forget to finalize the class somewhere, so the spots don't appear?
Bye,
Erik.
sent from my phoneOn Apr 2, 2013 7:32 PM, "Rudolf Schlatte" <rudi-4eUIStHq6WvhYHbOoDrFzw@public.gmane.org> wrote:Hi,
I suspect that the changes in commit r14452 only work by accident.
The definions of SLOT_INDEX_NAME in FuncallableStandardClass vs FuncallableStandardObject are no problem, since the latter simply isn't used anywhere. But the new methods getName() and setName() assume that a) the FuncallableStandardObject instance has at least one slot, and b) that slot holds a name. Since
(class-slots (find-class 'funcallable-standard-object))
returns NIL, these assumptions hold only when the objects are in fact generic functions.
Amusingly,
(function-lambda-expression (make-instance 'funcallable-standard-object))
runs into the type error on line 2666 of Primitives.lisp ("The value #<FUNCALLABLE-STANDARD-OBJECT {665C5A83}> is not of type FUNCTION.") even though
(typep (make-instance 'funcallable-standard-object) 'function) => T
so I can't trigger the array-out-of-bounds error right now.
Could I have a recipe for triggering the bug? I'd like to see how cl-cont uses funcallable-standard-objects, and what expectations we violate. I believe I can fix this properly.
Cheers,
Rudi
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Re: Questions about r14452 (Fix cl-cont)
Forgot to mention: Pre 14452 it was enough to just quickload cl-cont to trigger the bug.
Bye, Erik
sent from my phone
Hi Rudi,
Basically the expectation we violated was the fact that %set-lambda-name didn't want to take a funcallable instance as its function argument. The commit changed that and used the first slot of the funcallable instance class layout (called NAME) to store the name. I guess we forget to finalize the class somewhere, so the spots don't appear?
Bye,
Erik.
sent from my phoneOn Apr 2, 2013 7:32 PM, "Rudolf Schlatte" <rudi <at> constantly.at> wrote:Hi,
I suspect that the changes in commit r14452 only work by accident.
The definions of SLOT_INDEX_NAME in FuncallableStandardClass vs FuncallableStandardObject are no problem, since the latter simply isn't used anywhere. But the new methods getName() and setName() assume that a) the FuncallableStandardObject instance has at least one slot, and b) that slot holds a name. Since
(class-slots (find-class 'funcallable-standard-object))
returns NIL, these assumptions hold only when the objects are in fact generic functions.
Amusingly,
(function-lambda-expression (make-instance 'funcallable-standard-object))
runs into the type error on line 2666 of Primitives.lisp ("The value #<FUNCALLABLE-STANDARD-OBJECT {665C5A83}> is not of type FUNCTION.") even though
(typep (make-instance 'funcallable-standard-object) 'function) => T
so I can't trigger the array-out-of-bounds error right now.
Could I have a recipe for triggering the bug? I'd like to see how cl-cont uses funcallable-standard-objects, and what expectations we violate. I believe I can fix this properly.
Cheers,
Rudi
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Fwd: Re: Questions about r14452 (Fix cl-cont)
sent from my phone
From: ehuels-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Date: Apr 2, 2013 7:51 PM
Subject: Re: Questions about r14452 (Fix cl-cont)
To: Rudolf Schlatte <rudi-4eUIStHq6WvhYHbOoDrFzw@public.gmane.org>
Cc:
Hi Rudi,
Basically the expectation we violated was the fact that %set-lambda-name didn't want to take a funcallable instance as its function argument. The commit changed that and used the first slot of the funcallable instance class layout (called NAME) to store the name. I guess we forget to finalize the class somewhere, so the spots don't appear?
Bye,
Erik.
sent from my phoneOn Apr 2, 2013 7:32 PM, "Rudolf Schlatte" <rudi-4eUIStHq6WvhYHbOoDrFzw@public.gmane.org> wrote:Hi,
I suspect that the changes in commit r14452 only work by accident.
The definions of SLOT_INDEX_NAME in FuncallableStandardClass vs FuncallableStandardObject are no problem, since the latter simply isn't used anywhere. But the new methods getName() and setName() assume that a) the FuncallableStandardObject instance has at least one slot, and b) that slot holds a name. Since
(class-slots (find-class 'funcallable-standard-object))
returns NIL, these assumptions hold only when the objects are in fact generic functions.
Amusingly,
(function-lambda-expression (make-instance 'funcallable-standard-object))
runs into the type error on line 2666 of Primitives.lisp ("The value #<FUNCALLABLE-STANDARD-OBJECT {665C5A83}> is not of type FUNCTION.") even though
(typep (make-instance 'funcallable-standard-object) 'function) => T
so I can't trigger the array-out-of-bounds error right now.
Could I have a recipe for triggering the bug? I'd like to see how cl-cont uses funcallable-standard-objects, and what expectations we violate. I believe I can fix this properly.
Cheers,
Rudi
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Questions about r14452 (Fix cl-cont)
Hi,
I suspect that the changes in commit r14452 only work by accident.
The definions of SLOT_INDEX_NAME in FuncallableStandardClass vs FuncallableStandardObject are no
problem, since the latter simply isn't used anywhere. But the new methods getName() and setName() assume
that a) the FuncallableStandardObject instance has at least one slot, and b) that slot holds a name. Since
(class-slots (find-class 'funcallable-standard-object))
returns NIL, these assumptions hold only when the objects are in fact generic functions.
Amusingly,
(function-lambda-expression (make-instance 'funcallable-standard-object))
runs into the type error on line 2666 of Primitives.lisp ("The value #<FUNCALLABLE-STANDARD-OBJECT
{665C5A83}> is not of type FUNCTION.") even though
(typep (make-instance 'funcallable-standard-object) 'function) => T
so I can't trigger the array-out-of-bounds error right now.
Could I have a recipe for triggering the bug? I'd like to see how cl-cont uses
funcallable-standard-objects, and what expectations we violate. I believe I can fix this properly.
Cheers,
Rudi
ASDF-JAR vs ASDF3 deployment support
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Using ASDF/BUNDLE for ABCL
Bye,
_______________________________________________ armedbear-devel mailing list armedbear-devel@... http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
RSS Feed