• Jakob Linke's avatar
    [maglev] Keep receiver in a stack slot for OptimizedFrame::Summarize · de18a05e
    Jakob Linke authored
    For frame inspection (i.e. not deoptimization), no RegisterValues are
    available to TranslatedState and thus any register-allocated value is
    unavailable.
    
    Stack trace collection require `function` and `receiver` values to be
    available and thus stack-allocated. Both are immutable and have fixed
    stack slots so this is not a problem; we just lost track of the receiver
    inside Maglev when function parameters were wrapped inside exception Phi
    nodes.
    
    We solve this for now by special-casing the `receiver` to reuse the
    InitialValue node instead of creating a new Phi.
    
    Bug: v8:7700
    Change-Id: I4f4de9a643b98e2fcbc7ee7a53688cc97a8d6f1d
    Fixed: chromium:1359428
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3893856Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Auto-Submit: Jakob Linke <jgruber@chromium.org>
    Commit-Queue: Jakob Linke <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83164}
    de18a05e
Name
Last commit
Last update
..
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
block-coverage-builder.h Loading commit data...
bytecode-array-builder.cc Loading commit data...
bytecode-array-builder.h Loading commit data...
bytecode-array-iterator.cc Loading commit data...
bytecode-array-iterator.h Loading commit data...
bytecode-array-random-iterator.cc Loading commit data...
bytecode-array-random-iterator.h Loading commit data...
bytecode-array-writer.cc Loading commit data...
bytecode-array-writer.h Loading commit data...
bytecode-decoder.cc Loading commit data...
bytecode-decoder.h Loading commit data...
bytecode-flags.cc Loading commit data...
bytecode-flags.h Loading commit data...
bytecode-generator.cc Loading commit data...
bytecode-generator.h Loading commit data...
bytecode-jump-table.h Loading commit data...
bytecode-label.cc Loading commit data...
bytecode-label.h Loading commit data...
bytecode-node.cc Loading commit data...
bytecode-node.h Loading commit data...
bytecode-operands.cc Loading commit data...
bytecode-operands.h Loading commit data...
bytecode-register-allocator.h Loading commit data...
bytecode-register-optimizer.cc Loading commit data...
bytecode-register-optimizer.h Loading commit data...
bytecode-register.cc Loading commit data...
bytecode-register.h Loading commit data...
bytecode-source-info.cc Loading commit data...
bytecode-source-info.h Loading commit data...
bytecode-traits.h Loading commit data...
bytecodes.cc Loading commit data...
bytecodes.h Loading commit data...
constant-array-builder.cc Loading commit data...
constant-array-builder.h Loading commit data...
control-flow-builders.cc Loading commit data...
control-flow-builders.h Loading commit data...
handler-table-builder.cc Loading commit data...
handler-table-builder.h Loading commit data...
interpreter-assembler.cc Loading commit data...
interpreter-assembler.h Loading commit data...
interpreter-generator.cc Loading commit data...
interpreter-generator.h Loading commit data...
interpreter-intrinsics-generator.cc Loading commit data...
interpreter-intrinsics-generator.h Loading commit data...
interpreter-intrinsics.cc Loading commit data...
interpreter-intrinsics.h Loading commit data...
interpreter.cc Loading commit data...
interpreter.h Loading commit data...