[armedbear-ticket] [armedbear] #55: Clearing LispThread.currentThread()._values more efficiently
#55: Clearing LispThread.currentThread()._values more efficiently -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: Component: compiler | Version: Keywords: | -------------------------+-------------------------------------------------- We currently clear _values all over the place; we could be more efficient some times. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Changes (by ehuelsmann): * keywords: => performance -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:1> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: too-vague Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Changes (by ehuelsmann): * milestone: => too-vague -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:2> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: 1.0 Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Changes (by ehuelsmann): * milestone: too-vague => 1.0 Comment: Operations like these: POP GETSTATIC PUTSTATIC GETFIELD PUTFIELD xLOAD xSTORE (and possibly some others) can be found enclosed in CLEAR-VALUES instructions, however, by nature, they can't be causing currentThread()._values to be set: only (lisp) function calls do that. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:3> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: 1.0 Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Comment(by ehuelsmann): Some work has been done in this department (on the unsafe-p-removal branch): specifically, all block types are now explicitly handled, while only TAGBODY was before - and incorrectly at that. However, the main issue still stands. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:4> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: 1.0 Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Comment(by ehuelsmann): One of the factors determining single-valued-ness of self-compiled functions is the %SINGLE-VALUED-P field in the compiland structure. This field gets set to T during pass1 whenever any function call within that function returns T for the call to SINGLE-VALUED-P (which itself is located in pass2???). -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:5> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: 1.0 Component: compiler | Version: Resolution: | Keywords: performance --------------------------+------------------------------------------------- Comment(by ehuelsmann): The last comment has been addressed in r13147. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:6> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: 1.1.0 Component: compiler | Version: Keywords: performance | -------------------------+-------------------------------------------------- Changes (by mevenson): * milestone: 1.0 => 1.1.0 -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:7> armedbear <http://common-lisp.net/project/armedbear> armedbear
#55: Clearing LispThread.currentThread()._values more efficiently -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: 1.2.0 Component: compiler | Version: Keywords: performance | -------------------------+-------------------------------------------------- Changes (by ehuelsmann): * milestone: 1.1.0 => 1.2.0 -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/55#comment:8> armedbear <http://common-lisp.net/project/armedbear> armedbear
participants (1)
-
armedbear