List of Figures

1.1

Premature deletion of an object may lead to errors

1.2

Minimum and bounded mutator utilisation curves

1.3

Roots, heap cells and references

2.1

Marking with the tricolour abstraction

2.2

Marking with a FIFO prefetch buffer

3.1

Edwards’s Two-Finger algorithm

3.2

Threading pointers

3.3

The heap and metadata used by Compressor

4.1

Copying garbage collection: an example

4.2

Copying a tree with different traversal orders

4.3

Moon’s approximately depth-first copying

4.4

A FIFO prefetch buffer does not improve locality with copying

4.5

Mark/cons ratios for mark-sweep and copying collection

5.1

Deferred reference counting schematic

5.2

Coalesced reference counting

5.3

Cyclic reference counting

5.4

The synchronous Recycler state transition diagram

6.1

A simple cycle

7.1

Sequential allocation

7.2

A Java object header design for heap parsability

9.1

Inter-generational pointers

9.2

Semispace organisation in a generational collector

9.3

Survival rates with a copy count of 1 or

9.4

Shaw’s bucket brigade system

9.5

High water marks

9.6

Appel’s simple generational collector

9.7

Switching between copying and marking the young generation

9.8

Renewal Older First garbage collection

9.9

Deferred Older First garbage collection

9.10

Beltway configurations

10.1

The Treadmill collector

10.2

The Train copying collector

10.3

A ‘futile’ collection

10.4

Thread-local heaplet organisation

10.5

A continuum of tracing collectors

10.6

Incremental incrementally compacting garbage collection

10.7

Allocation in immix

10.8

Mark-Copy

10.9

Ulterior reference counting schematic

11.1

Conservative pointer finding

11.2

Stack scanning

11.3

Crossing map with slot-remembering card table

11.4

A stack implemented as a chunked list

12.1

Failure to release a resource

12.2

Using a finaliser to release a resource

12.3

Object finalisation order

12.4

Restructuring to force finalisation order

12.5

Phantom objects and finalisation order

14.1

Stop-the-world garbage collection

14.2

A global overflow set

14.3

Grey packets

14.4

Dominant-thread tracing

14.5

Chunk management in the Imai and Tick collector

14.6

Block states and transitions in the Imai and Tick collector

14.7

Block states and transitions in the Siegwart and Hirzel collector

14.8

Sliding compaction in the Flood et al collector

14.9

Inter-block compaction in the Abuaiadh et al collector

15.1

Incremental and concurrent garbage collection

15.2

The lost object problem

16.1

Barriers for on-the-fly collectors

17.1

Compressor

17.2

Pauseless

18.1

Reference counting and races

18.2

Concurrent coalesced reference counting

18.3

Sliding views snapshot

19.1

Unpredictable frequency and duration of conventional collectors

19.2

Heap structure in the Blelloch and Cheng work-based collector

19.3

Low mutator utilisation even with short collector pauses

19.4

Heap structure in the Henriksson slack-based collector

19.5

Lazy evacuation in the Henriksson slack-based collector

19.6

Metronome utilisation

19.7

Overall mutator utilisation in Metronome

19.8

Mutator utilisation in Metronome during a collection cycle

19.9

MMU uTt) for a perfectly scheduled time-based collector

19.10

Fragmented allocation in Schism

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.108.22