• Sigurd Schneider's avatar
    [arm64] Fix handling of handles in assembler · 66412e0f
    Sigurd Schneider authored
    Previously, the handle's location was used as a proxy for the heap
    object, i.e, we put the handle into the constant pool, to avoid the
    need for GC visiting the constant pool entries during code generation.
    The handle locations are replaced by the corresponding heap object
    when the code is copied to the heap.
    
    This CL changes the handling in the assembler: Instead of putting
    in the handle location (which is a machine word) we put in a small
    index number into a table. This will be useful for putting 32bit
    constants into the constant pool.
    
    This new approach also has the advantage that ordering the
    constant pool entries by value produces a deterministic order
    after this change.
    
    Change-Id: Id47d56d487a0b64d1d1504a47937c8779ee02b13
    Bug: v8:7703
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1648094
    Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62144}
    66412e0f
assembler-arm64.h 104 KB