• Jakob Linke's avatar
    [maglev] Implement Maglev-to-Turbofan tiering · 0bc4b452
    Jakob Linke authored
    ML-TF tiering remains very similar to Ignition-TF tiering:
    
    - When the interrupt budget is exhausted, enter the TieringManager
      which potentially decides to tier up and sets the appropriate
      TieringState on the FeedbackVector.
    - The prologue on ML function entry recognizes the TieringState (and
      also available cached TF code) and starts compilation and/or jumps
      into optimized code.
    
    TODOs:
    
    - ML-to-TF OSR is not yet supported.
    - ML code is no longer cached on the FeedbackVector.
    - Tracing is rudimentary.
    - The generated function-entry prologue is fairly large and must be
      either minimized or extracted into a builtin.
    - Tiering involving Sparkplug is not entirely robust yet (Sparkplug
      code may be installed with unexpected timing).
    
    Bug: v8:7700
    Change-Id: I86b0692477f51b9967f318a4093bc874344120b3
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3629149Reviewed-by: 's avatarVictor Gomes <victorgomes@chromium.org>
    Commit-Queue: Jakob Linke <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82351}
    0bc4b452
Name
Last commit
Last update
..
DEPS Loading commit data...
OWNERS Loading commit data...
maglev-basic-block.h Loading commit data...
maglev-code-gen-state.h Loading commit data...
maglev-code-generator.cc Loading commit data...
maglev-code-generator.h Loading commit data...
maglev-compilation-info.cc Loading commit data...
maglev-compilation-info.h Loading commit data...
maglev-compilation-unit.cc Loading commit data...
maglev-compilation-unit.h Loading commit data...
maglev-compiler.cc Loading commit data...
maglev-compiler.h Loading commit data...
maglev-concurrent-dispatcher.cc Loading commit data...
maglev-concurrent-dispatcher.h Loading commit data...
maglev-graph-builder.cc Loading commit data...
maglev-graph-builder.h Loading commit data...
maglev-graph-labeller.h Loading commit data...
maglev-graph-printer.cc Loading commit data...
maglev-graph-printer.h Loading commit data...
maglev-graph-processor.h Loading commit data...
maglev-graph-verifier.h Loading commit data...
maglev-graph.h Loading commit data...
maglev-interpreter-frame-state.h Loading commit data...
maglev-ir.cc Loading commit data...
maglev-ir.h Loading commit data...
maglev-regalloc-data.h Loading commit data...
maglev-regalloc.cc Loading commit data...
maglev-regalloc.h Loading commit data...
maglev-register-frame-array.h Loading commit data...
maglev-vreg-allocator.h Loading commit data...
maglev.cc Loading commit data...
maglev.h Loading commit data...