Slide 1

Slide 1 text

Minor GC (Scavenge) 1. Let us assume that there are already objects on the “to-space” when we start(Blocks 01 to 06 marked as used memory) 2. The process creates a new object(07) 3. V8 tries to get required memory from the from-space, but there is no free space in there to accommodate our object and hence V8 triggers minor GC

Slide 2

Slide 2 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space From-space To-space 01 02 03 04 05 06 07 (new object)

Slide 3

Slide 3 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space From-space To-space 01 02 03 04 05 06 07 (new object)

Slide 4

Slide 4 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space From-space To-space 01 02 03 04 05 06 07 (new object)

Slide 5

Slide 5 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space From-space To-space 01 02 03 04 05 06 07 (new object)

Slide 6

Slide 6 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space To-space From-space 01 03 05 07 (new object)

Slide 7

Slide 7 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space To-space From-space 01 03 05 07 (new object)

Slide 8

Slide 8 text

Second Minor GC 1. Let us assume that some time have passed and there are more objects on the “from-space” now(Blocks 07 to 09 marked as used memory) 2. The process creates a new object(10) 3. V8 tries to get required memory from the from-space, but there is no free space in there to accommodate our object and hence V8 triggers second minor GC

Slide 9

Slide 9 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space To-space From-space 01 03 05 07 08 09 10 (new object)

Slide 10

Slide 10 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space To-space From-space 01 03 05 07 08 09 10 (new object)

Slide 11

Slide 11 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space To-space From-space 01 03 05 07 08 09 10 (new object)

Slide 12

Slide 12 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space From-space To-space 01 05 07 09 10 (new object)

Slide 13

Slide 13 text

Minor GC Heap memory New space (Young generation) Old generation (Old space) Pointer space Orphan Used memory Free memory Large object space Code space Cell space Property cell space Map space Data space From-space To-space 01 05 07 09 10 (new object)