• Clemens Backes's avatar
    [compiler] Fall back to mid-tier register allocation · 184213d3
    Clemens Backes authored
    Huge functions can take a really long time (several minutes) in register
    allocation. This is caused by a big number of virtual registers combined
    with a big number of blocks.
    We can avoid such long-running register allocation by falling back to
    the mid-tier register allocation if we detect a huge number of virtual
    registers.
    Note that this is mostly relevant for bigger WebAssembly modules, but we
    implement it as a general TurboFan flag.
    
    The flag is off by default for now, since there seem to be bugs lurking
    in the mid-tier register allocator. Once those are fixed, we can stage
    it behind --future and then ship it.
    
    R=mslekova@chromium.org
    CC=thibaudm@chromium.org
    
    Bug: v8:12320
    Change-Id: Iff14de456c2b3a91ee2b2b12221295dd56b69463
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3231336Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77461}
    184213d3
pipeline.cc 148 KB