• Russ Cox's avatar
    runtime: use heap bitmap for typedmemmove · 4212a3c3
    Russ Cox authored
    The current implementation of typedmemmove walks the ptrmask
    in the type to find out where pointers are. This led to turning off
    GC programs for the Go 1.5 dev cycle, so that there would always
    be a ptrmask. Instead of also interpreting the GC programs,
    interpret the heap bitmap, which we know must be available and
    up to date. (There is no point to write barriers when writing outside
    the heap.)
    
    This CL is only about correctness. The next CL will optimize the code.
    
    Change-Id: Id1305c7c071fd2734ab96634b0e1c745b23fa793
    Reviewed-on: https://go-review.googlesource.com/9886Reviewed-by: default avatarAustin Clements <austin@google.com>
    4212a3c3
mbarrier.go 8.3 KB