• Mythri A's avatar
    [handles] Fix is_identical_to to correctly work with Smis · 1f858b3f
    Mythri A authored
    HandleBase::is_identical_to() is_identical_to in handle base is used to
    do the exact comparison by just comparing the locations. When the
    locations are different the values are compared. For Smis it
    compares 64 bits which might lead to incorrect behaviour. Smis loaded as
    a TaggedField has the root address added. It is expexted that we don't
    use higher order bits on Smi. Hence, is_identical_to shouldn't use these
    bits when comparing Smis. This cl fixes it by comparing the objects
    created from the given location. That takes care of correctly comparing
    the required bits.
    
    Change-Id: I574dfbea4c1fffc7a9e3a6a10ad7631d40c518ce
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461743
    Commit-Queue: Mythri Alle <mythria@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70422}
    1f858b3f
maybe-handles.h 4.02 KB