For what it is worth, Kathryn and I have previously clarified some of this nomenclature (see our Immix paper <http://users.cecs.anu.edu.au/~steveb/pubs/papers/immix-pldi-2008.pdf>).
Marking: identifying liveness via a trace Sweeping: identifying free space while leaving live objects in place (classic mark-sweep and immix do this) Evacuating: freeing space by moving survivors to another place Compacting: freeing space moving survivors within the same place. We use the term 'defragmentation' to refer to the use of evacuation to free up space in a regional collector. --Steve On Friday, 16 August 2019 18:30:10 UTC+10, Aleksey Shipilev wrote: > > On 8/16/19 10:07 AM, Gil Tene wrote: > > Classification terms evolve as the art evolves. > > What I want to emphasize here that this discussion reinvents the meaning > of "sweep". That definition > is not used in the way you describe in the sources I know of. Granted, > definitions drift over time, > but we have to be careful to separate what is the "agreed on" definition, > and what is whatever > definition we want to be the emergent one. > > > On Thursday, August 15, 2019 at 1:42:23 AM UTC-7, Aleksey Shipilev > wrote: > > I am trying to understand what is your central argument here. This > seems to be it. Are you saying > > that "sweeping" is when you visit dead objects, and non-"sweeping" > is when you do not? > > > > Yes. I think that's a very good summary. > > Would be helpful if we started from this next time around! > > > Is walking _dead_ objects the discriminator for "sweeping" then? So > in your book, if we take the > > same Lisp2 collector, and compute-new-addresses and adjust-pointers > steps are walking the > > self-parsable heap (visiting dead objects along the way), it is > M-S-C? But if it uses marking > > bitmap > > (thus only visiting live objects), it becomes M-C? [This would be a > weird flex, but okay]. > > > > > > Exactly. "In my book" adding an efficient livemark bit vector with > possible summary layers would > > covert the classic LISP2 GC from a Mark-Sweep-Compact to a Mark-Compact > (with no sweep). > > So this is what irks me here. In my Epsilon's mark-compact toy collector > (https://shipilev.net/jvm/diy-gc/), changing from mark bitmaps to > self-parsable heap traversal is > about 5 lines of code. This does not feel like passing the bar for > reclassification of the collector > algo between major classes. It feels more like the implementation detail > that can swing both ways, > depending on circumstances. > > -Aleksey > > -- You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group. To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/869e1ac0-7edd-43ca-afe1-973b0410ff76%40googlegroups.com.