• danno's avatar
    Revert of Remove register index/code indirection (patchset #17 id:320001 of... · 3ac27431
    danno authored
    Revert of Remove register index/code indirection (patchset #17 id:320001 of https://codereview.chromium.org/1287383003/ )
    
    Reason for revert:
    Failures on greedy RegAlloc, Fuzzer
    
    Original issue's description:
    > Remove register index/code indirection
    >
    > Previous to this patch, both the lithium and TurboFan register
    > allocators tracked allocated registers by "indices", rather than
    > the register codes used elsewhere in the runtime. This patch
    > ensures that codes are used everywhere, and in the process cleans
    > up a bunch of redundant code and adds more structure to how the
    > set of allocatable registers is defined.
    >
    > Some highlights of changes:
    >
    > * TurboFan's RegisterConfiguration class moved to V8's top level
    >   so that it can be shared with Crankshaft.
    > * Various "ToAllocationIndex" and related methods removed.
    > * Code that can be easily shared between Register classes on
    >   different platforms is now shared.
    > * The list of allocatable registers on each platform is declared
    >   as a list rather than implicitly via the register index <->
    >   code mapping.
    >
    > Committed: https://crrev.com/80bc6f6e11f79524e3f1ad05579583adfd5f18b2
    > Cr-Commit-Position: refs/heads/master@{#30913}
    
    TBR=akos.palfi@imgtec.com,bmeurer@chromium.org,jarin@chromium.org,paul.lind@imgtec.com,titzer@chromium.org
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    
    Review URL: https://codereview.chromium.org/1365073002
    
    Cr-Commit-Position: refs/heads/master@{#30914}
    3ac27431
lithium-x64.cc 90.3 KB