• Jakob Linke's avatar
    [tiering] Fix active tier detection in OnInterruptTick · 49abe45e
    Jakob Linke authored
    We've previously used JSFunction::GetActiveTier, which looks at
    JSFunction::code to determine the active tier. However, that may
    diverge from the actually active tier (i.e. the calling frame type),
    e.g. when Turbofan code is available but we haven't yet tiered up
    because we're stuck in a longrunning loop.
    
    With this CL, we determine the caller code_kind by splitting the
    BytecodeBudgetInterrupt runtime function up into _Ignition,
    _Sparkplug, and _Maglev variants s.t. the tier is passed implicitly
    without extra overhead at runtime.
    
    Bug: v8:7700
    Change-Id: I46d19c4676e3debb6d608d9fbc53495feef5cadf
    Fixed: chromium:1358577
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3871196
    Commit-Queue: Jakob Linke <jgruber@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83020}
    49abe45e
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...