• Ulan Degenbaev's avatar
    [heap] Use unchecked length getter for concurrent marking of FixedArray. · 12779b16
    Ulan Degenbaev authored
    If the fixed array is being concurrently left-trimmed then checked
    getter can assert because the length is not necessarily a Smi.
    
    This patch uses unchecked length getter to cache the length as Object*.
    Only if the marker manages to color the array black, we are guaranteed
    that the cached length is a Smi.
    
    This patch also uses unchecked cast for FixedArray in HeapVisitor
    for concurrent marker.
    
    Note that this patch only affects debug mode.
    
    Bug: chromium:694255
    Change-Id: I5016a2234a9f5fb98b498e06f5d1428b3f1cc3c6
    Reviewed-on: https://chromium-review.googlesource.com/817554
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49970}
    12779b16
concurrent-marking.cc 22.4 KB