Changeset 8560

Feb 22, 2008, 9:00:42 AM (12 years ago)

Code coverage changes for the fasdumper constants overflow problem:

  • flatten the code-note-source pointers so they go directly to the toplevel form for source notes, and directly to the nearest source note for code notes. Don't keep track of any intermediate steps.
  • change code notes to not have a subform-notes slot, instead, add a parent-note. Have coverage reporting recompute the downward pointers when needed.
  • comment out MAKE-SOURCE-NOTE-FORM-MAP, which doesn't seem used and no longer works because of above change. If it's used externally, e.g. by slime, I will need to find a new way to implement it, and it will need to take a function rather than a source note as an arg, since a source note no longer has enough information
  • have the compiler set the parent-note slot to the index of the parent in the lfun immediates. This keeps the parent from being multiply-referenced. The fasloader unpacks it when loading. (If/when we make the repl support code coverage, it will need to handle this case. Also need to implement it in the PPC backend).
  • While in there, comment out the *record-pc-mapping* case, which isn't actually used, and wouldn't work if it were.
  • Change the fasdumper to dump code notes as gvectors

Also, implement saving/restoring coverage data.

Make cover.lisp part of loading sequence.

11 edited

Note: See TracChangeset for help on using the changeset viewer.