• zhengxing.li's avatar
    X87: Re-reland: Remove register index/code indirection. · 2e5845f1
    zhengxing.li authored
        port 5cf1c0bc (r31087).
    
        original commit message:
        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.
    
        additional comment:
        This patch must be work with CL https://codereview.chromium.org/1405673003/
        and CL https://codereview.chromium.org/1413343002/
        which provide the needed register allocation common code change in
        v8 for this CL
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1410393004
    
    Cr-Commit-Position: refs/heads/master@{#31494}
    2e5845f1
lithium-codegen-x87.cc 206 KB