• Victor Gomes's avatar
    [maglev] Remove unnecessary CheckedSmiTag and CheckedSmiUntag · e96b8564
    Victor Gomes authored
    We track untagged values through the InterpreterFrameState, that allows
    us to re-use already emitted CheckedSmiUntag and elide CheckedSmiTag
    whenever the next node wants the untagged value as input.
    
    It uses LoadRegisterTaggedValue, LoadRegisterSmiUntaggedValue and
    accumulator variants as helper in the graph builder.
    
    Spilled values can now be untagged, since we currently do not
    support stack slot re-use, we use a ZoneVector to keep track of
    the stack slot representation.
    
    We tag (lazily) any value that will be passed as input to a Phi node.
    
    Bug: v8:7700
    
    Change-Id: I34cb69c8f1fbeb6a8158a251a4dd2e114e894ea0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574559Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Commit-Queue: Victor Gomes <victorgomes@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79939}
    e96b8564
Name
Last commit
Last update
..
debug Loading commit data...
numbers Loading commit data...
platform Loading commit data...
sanitizer Loading commit data...
utils Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
address-region.h Loading commit data...
atomic-utils.h Loading commit data...
atomicops.h Loading commit data...
atomicops_internals_atomicword_compat.h Loading commit data...
base-export.h Loading commit data...
bit-field.h Loading commit data...
bits-iterator.h Loading commit data...
bits.cc Loading commit data...
bits.h Loading commit data...
bounded-page-allocator.cc Loading commit data...
bounded-page-allocator.h Loading commit data...
bounds.h Loading commit data...
build_config.h Loading commit data...
compiler-specific.h Loading commit data...
cpu.cc Loading commit data...
cpu.h Loading commit data...
division-by-constant.cc Loading commit data...
division-by-constant.h Loading commit data...
emulated-virtual-address-subspace.cc Loading commit data...
emulated-virtual-address-subspace.h Loading commit data...
enum-set.h Loading commit data...
export-template.h Loading commit data...
file-utils.cc Loading commit data...
file-utils.h Loading commit data...
flags.h Loading commit data...
free_deleter.h Loading commit data...
functional.cc Loading commit data...
functional.h Loading commit data...
hashmap-entry.h Loading commit data...
hashmap.h Loading commit data...
ieee754.cc Loading commit data...
ieee754.h Loading commit data...
immediate-crash.h Loading commit data...
iterator.h Loading commit data...
lazy-instance.h Loading commit data...
logging.cc Loading commit data...
logging.h Loading commit data...
macros.h Loading commit data...
memory.h Loading commit data...
once.cc Loading commit data...
once.h Loading commit data...
optional.h Loading commit data...
overflowing-math.h Loading commit data...
page-allocator.cc Loading commit data...
page-allocator.h Loading commit data...
pointer-with-payload.h Loading commit data...
qnx-math.h Loading commit data...
region-allocator.cc Loading commit data...
region-allocator.h Loading commit data...
ring-buffer.h Loading commit data...
safe_conversions.h Loading commit data...
safe_conversions_arm_impl.h Loading commit data...
safe_conversions_impl.h Loading commit data...
small-vector.h Loading commit data...
strings.cc Loading commit data...
strings.h Loading commit data...
sys-info.cc Loading commit data...
sys-info.h Loading commit data...
template-utils.h Loading commit data...
threaded-list.h Loading commit data...
timezone-cache.h Loading commit data...
ubsan.cc Loading commit data...
v8-fallthrough.h Loading commit data...
vector.h Loading commit data...
virtual-address-space-page-allocator.cc Loading commit data...
virtual-address-space-page-allocator.h Loading commit data...
virtual-address-space.cc Loading commit data...
virtual-address-space.h Loading commit data...
vlq-base64.cc Loading commit data...
vlq-base64.h Loading commit data...
vlq.h Loading commit data...
win32-headers.h Loading commit data...