Opened 17 years ago

Last modified 3 years ago

#55 assigned enhancement

Clearing LispThread.currentThread()._values more efficiently

Reported by: ehuelsmann Owned by: ehuelsmann
Priority: blocker Milestone: 1.9.3
Component: compiler Version: 1.2.0-dev
Keywords: performance Cc:
Parent Tickets:

Description

We currently clear _values all over the place; we could be more efficient some times.

Change History (26)

comment:1 by ehuelsmann, 17 years ago

Keywords: performance added

comment:2 by ehuelsmann, 16 years ago

Milestone: too-vague

comment:3 by ehuelsmann, 16 years ago

Milestone: too-vague1.0

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.

comment:4 by ehuelsmann, 16 years ago

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.

comment:5 by ehuelsmann, 16 years ago

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???).

comment:6 by ehuelsmann, 16 years ago

The last comment has been addressed in r13147.

comment:7 by Mark Evenson, 15 years ago

Milestone: 1.01.1.0

comment:8 by ehuelsmann, 14 years ago

Milestone: 1.1.01.2.0

comment:9 by Evenson Not Org, 13 years ago

Priority: majorblocker
Status: newassigned
Version: 1.2.0-dev

Verify that the minimum api exists. Document it.

comment:10 by Evenson Not Org, 13 years ago

Milestone: 1.2.01.3.0

comment:11 by Mark Evenson, 12 years ago

Milestone: 1.3.02.0

Ticket retargeted after milestone closed

comment:12 by Mark Evenson, 12 years ago

Milestone: 2.02.0.0

Milestone renamed

comment:13 by Mark Evenson, 12 years ago

Milestone: 2.0.01.4.0

comment:14 by Mark Evenson, 10 years ago

Milestone: 1.4.01.5.0

Ticket retargeted after milestone closed

comment:15 by Mark Evenson, 9 years ago

Milestone: 1.5.01.6.0

Ticket retargeted after milestone closed

comment:16 by Mark Evenson, 7 years ago

Milestone: 1.6.01.6.1

Ticket retargeted after milestone closed

comment:17 by Mark Evenson, 6 years ago

Milestone: 1.6.11.6.2

Ticket retargeted after milestone closed

comment:18 by Mark Evenson, 6 years ago

Milestone: 1.6.21.7.0

comment:19 by Mark Evenson, 6 years ago

Milestone: 1.7.01.7.1

Ticket retargeted after milestone closed

comment:20 by Mark Evenson, 6 years ago

Milestone: 1.7.11.7.2

Ticket retargeted after milestone closed

comment:21 by Mark Evenson, 6 years ago

Milestone: 1.7.21.8.0

Milestone renamed

comment:22 by Mark Evenson, 6 years ago

Milestone: 1.8.01.8.1

Ticket retargeted after milestone closed

comment:23 by Mark Evenson, 4 years ago

Milestone: 1.8.11.9.0

comment:24 by Mark Evenson, 4 years ago

Milestone: 1.9.01.9.1

comment:25 by Mark Evenson, 3 years ago

Milestone: 1.9.11.9.2

comment:26 by Mark Evenson, 3 years ago

Milestone: 1.9.21.9.3
Note: See TracTickets for help on using tickets.