DescriptionX87: Re-reland: Remove register index/code indirection.
port 5cf1c0bcf6f10ff61a95a00fa302eeee7c390885 (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=
Committed: https://crrev.com/2e5845f178b2fc52d9a344f35b50d27a6d45fd03
Cr-Commit-Position: refs/heads/master@{#31494}
Patch Set 1 #
Messages
Total messages: 13 (7 generated)
|