• Rick Hudson's avatar
    [dev.garbage] runtime: mark/allocation helper functions · dc65a82e
    Rick Hudson authored
    The gcmarkBits is a bit vector used by the GC to mark
    reachable objects. Once a GC cycle is complete the gcmarkBits
    swap places with the allocBits. allocBits is then used directly
    by malloc to locate free objects, thus avoiding the
    construction of a linked free list. This CL introduces a set
    of helper functions for manipulating gcmarkBits and allocBits
    that will be used by later CLs to realize the actual
    algorithm. Minimal attempts have been made to optimize these
    helper routines.
    
    Change-Id: I55ad6240ca32cd456e8ed4973c6970b3b882dd34
    Reviewed-on: https://go-review.googlesource.com/19420Reviewed-by: default avatarAustin Clements <austin@google.com>
    Run-TryBot: Rick Hudson <rlh@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    dc65a82e
malloc.go 30.6 KB