• 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
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
ast Loading commit data...
base Loading commit data...
builtins Loading commit data...
codegen Loading commit data...
common Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
d8 Loading commit data...
date Loading commit data...
debug Loading commit data...
deoptimizer Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
extensions Loading commit data...
flags Loading commit data...
handles Loading commit data...
heap Loading commit data...
ic Loading commit data...
init Loading commit data...
inspector Loading commit data...
interpreter Loading commit data...
json Loading commit data...
libplatform Loading commit data...
libsampler Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parsing Loading commit data...
profiler Loading commit data...
protobuf Loading commit data...
regexp Loading commit data...
roots Loading commit data...
runtime Loading commit data...
sanitizer Loading commit data...
snapshot Loading commit data...
strings Loading commit data...
tasks Loading commit data...
third_party Loading commit data...
torque Loading commit data...
tracing Loading commit data...
trap-handler Loading commit data...
utils Loading commit data...
wasm Loading commit data...
zone Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...