Home

Awesome

Ruby with Concurrent GC

Ruby Language

See [README] 1 for information on Ruby itself.

This is built on [version 1.9.3-p429] 2.

Concurrent GC Plan

[x] update init_heap()

  1. disallow to go concurrent
  2. prepare shared memory
  3. call fork(). if child: call child_garbage_collect(), else: return [x] add child_garbage_collect()
  1. call mark
  2. update memory page
  3. signal changes
  4. exit [x] add signal handler for changes
  1. merge changes
  2. allow to go concurrent again