Lack of documentation of CBLOCK's slots: GEN, IN, OUT.

Bug #311452 reported by Tobias C. Rittweiler
2
Affects Status Importance Assigned to Milestone
SBCL
Invalid
Wishlist
Unassigned

Bug Description

Pasting from compiler/node.lisp:

  (def!struct (cblock ...)
     ...

    ;; in constraint propagation: list of LAMBDA-VARs killed in this block
    ;; in copy propagation: list of killed TNs
    (kill nil)
    ;; other sets used in constraint propagation and/or copy propagation
    (gen nil)
    (in nil)
    (out nil)

    ...)

"other sets" is not very descriptive.

description: updated
Revision history for this message
Nikodemus Siivola (nikodemus) wrote :

Documentation is always good...

I haven't actually checked, but these BLOCK-KILL should be the "semistandard" GEN, KILL, IN, and OUT sets from computer literature: exact meaning depends on the type of flow-analysis being run -- in our case either copy propagation or constraint propagation. Constraint propagation is less common, but any decent textbook should describe copy propagation.

Changed in sbcl:
status: New → Confirmed
Revision history for this message
Nikodemus Siivola (nikodemus) wrote :

s/these BLOCK-KILL/these and BLOCK-KILL/

Changed in sbcl:
importance: Undecided → Wishlist
Revision history for this message
Douglas Katzman (dougk) wrote :

and why not every other slot of every other structure? This request, while not "nonsense" is not worthy of being kept open.

Changed in sbcl:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.