4 ms·
Pauseless [0]? It originally used hardware support on Azul machines to trap upon reading an unmarked pointer, but now (in the C4 generational incarnation, as we
by hayley-patton 4y ago
Pauseless [0]? It originally used hardware support on Azul machines to trap upon reading an unmarked pointer, but now (in the C4 generational incarnation, as well as in ZGC) this is done in software. But the other collectors use snapshot-at-the-beginning and a write barrier for concurrent marking, which originated in 1990 [1].
[0] https://www.usenix.net/legacy/events/vee05/full_papers/p46-click.pdf https://www.usenix.net/legacy/events/vee05/full_papers/p46-c...
[1] https://core.ac.uk/download/pdf/39218501.pdf https://core.ac.uk/download/pdf/39218501.pdf
- hayley-patton 4y agoAnd, if one wants to be picky, Pauseless is a variation of Henry Baker's "real-time" copying collector from 1978 [2], although Pauseless uses tags corresponding to various interesting states (marked/unmarked, forwarded/unforwarded) rather than just from-space/to-space. [2] https://plover.com/~mjd/misc/hbaker-archive/RealTimeGC.html https://plover.com/~mjd/misc/hbaker-archive/RealTimeGC.html