• 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
Name
Last commit
Last update
..
arguments-inl.h Loading commit data...
arguments.h Loading commit data...
bigint.cc Loading commit data...
bigint.h Loading commit data...
code-inl.h Loading commit data...
code.h Loading commit data...
compilation-cache-inl.h Loading commit data...
compilation-cache.h Loading commit data...
data-handler-inl.h Loading commit data...
data-handler.h Loading commit data...
debug-objects-inl.h Loading commit data...
debug-objects.cc Loading commit data...
debug-objects.h Loading commit data...
descriptor-array.h Loading commit data...
dictionary.h Loading commit data...
fixed-array-inl.h Loading commit data...
fixed-array.h Loading commit data...
frame-array-inl.h Loading commit data...
frame-array.h Loading commit data...
hash-table-inl.h Loading commit data...
hash-table.h Loading commit data...
intl-objects.cc Loading commit data...
intl-objects.h Loading commit data...
js-array-inl.h Loading commit data...
js-array.h Loading commit data...
js-collection-inl.h Loading commit data...
js-collection.h Loading commit data...
js-regexp-inl.h Loading commit data...
js-regexp.h Loading commit data...
literal-objects-inl.h Loading commit data...
literal-objects.cc Loading commit data...
literal-objects.h Loading commit data...
map-inl.h Loading commit data...
map.h Loading commit data...
module-inl.h Loading commit data...
module.cc Loading commit data...
module.h Loading commit data...
name-inl.h Loading commit data...
name.h Loading commit data...
object-macros-undef.h Loading commit data...
object-macros.h Loading commit data...
property-descriptor-object-inl.h Loading commit data...
property-descriptor-object.h Loading commit data...
regexp-match-info.h Loading commit data...
scope-info.cc Loading commit data...
scope-info.h Loading commit data...
script-inl.h Loading commit data...
script.h Loading commit data...
shared-function-info-inl.h Loading commit data...
shared-function-info.h Loading commit data...
string-inl.h Loading commit data...
string-table.h Loading commit data...
string.h Loading commit data...
template-objects.cc Loading commit data...
template-objects.h Loading commit data...