Skip to content
  • Koichi Sasada's avatar
    0ebf6bd0
    RB_VM_LOCK_ENTER_NO_BARRIER · 0ebf6bd0
    Koichi Sasada authored
    Write barrier requires VM lock because it accesses VM global bitmap
    but RB_VM_LOCK_ENTER() can invoke GC because another ractor can wait
    to invoke GC and RB_VM_LOCK_ENTER() is barrier point. This means that
    before protecting by a write barrier, GC can invoke.
    To prevent such situation, RB_VM_LOCK_ENTER_NO_BARRIER() is introduced.
    This lock primitive does not become GC barrier points.
    0ebf6bd0
    RB_VM_LOCK_ENTER_NO_BARRIER
    Koichi Sasada authored
    Write barrier requires VM lock because it accesses VM global bitmap
    but RB_VM_LOCK_ENTER() can invoke GC because another ractor can wait
    to invoke GC and RB_VM_LOCK_ENTER() is barrier point. This means that
    before protecting by a write barrier, GC can invoke.
    To prevent such situation, RB_VM_LOCK_ENTER_NO_BARRIER() is introduced.
    This lock primitive does not become GC barrier points.
Loading