Reviewers: akos.palfi.imgtec, Benedikt Meurer, Jarin, paul.l..., titzer,

Message:
Created Revert of Remove register index/code indirection

Description:
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.pa...@imgtec.com,bmeu...@chromium.org,ja...@chromium.org,paul.l...@imgtec.com,tit...@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Please review this at https://codereview.chromium.org/1365073002/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+1859, -1670 lines):
  M BUILD.gn
  M src/arm/assembler-arm.h
  M src/arm/assembler-arm.cc
  M src/arm/assembler-arm-inl.h
  M src/arm/constants-arm.cc
  M src/arm/deoptimizer-arm.cc
  M src/arm/disasm-arm.cc
  M src/arm/lithium-arm.cc
  M src/arm/lithium-codegen-arm.cc
  M src/arm/macro-assembler-arm.h
  M src/arm/macro-assembler-arm.cc
  M src/arm/simulator-arm.cc
  M src/arm64/assembler-arm64.h
  M src/arm64/assembler-arm64.cc
  M src/arm64/constants-arm64.h
  M src/arm64/deoptimizer-arm64.cc
  M src/arm64/lithium-arm64.cc
  M src/arm64/lithium-codegen-arm64.cc
  M src/arm64/macro-assembler-arm64.cc
  M src/arm64/simulator-arm64.h
  M src/arm64/utils-arm64.h
  M src/assembler.h
  M src/assembler.cc
  M src/compiler/c-linkage.cc
  M src/compiler/code-generator.cc
  M src/compiler/code-generator-impl.h
  M src/compiler/graph-visualizer.cc
  M src/compiler/instruction.h
  M src/compiler/instruction.cc
  M src/compiler/instruction-selector-impl.h
  M src/compiler/linkage.cc
  M src/compiler/pipeline.h
  M src/compiler/pipeline.cc
  M src/compiler/register-allocator.h
  M src/compiler/register-allocator.cc
  M src/compiler/register-allocator-verifier.cc
  A src/compiler/register-configuration.h
  A src/compiler/register-configuration.cc
  M src/deoptimizer.cc
  M src/frames.cc
  M src/hydrogen.cc
  M src/ia32/assembler-ia32.h
  M src/ia32/code-stubs-ia32.h
  M src/ia32/deoptimizer-ia32.cc
  M src/ia32/lithium-codegen-ia32.cc
  M src/ia32/lithium-gap-resolver-ia32.h
  M src/ia32/lithium-gap-resolver-ia32.cc
  M src/ia32/lithium-ia32.cc
  M src/ia32/macro-assembler-ia32.h
  M src/lithium.cc
  M src/lithium-allocator.h
  M src/lithium-allocator.cc
  M src/mips/assembler-mips.h
  M src/mips/assembler-mips.cc
  M src/mips/assembler-mips-inl.h
  M src/mips/deoptimizer-mips.cc
  M src/mips/lithium-codegen-mips.cc
  M src/mips/lithium-mips.cc
  M src/mips/macro-assembler-mips.h
  M src/mips/macro-assembler-mips.cc
  M src/mips64/assembler-mips64.h
  M src/mips64/assembler-mips64.cc
  M src/mips64/assembler-mips64-inl.h
  M src/mips64/deoptimizer-mips64.cc
  M src/mips64/lithium-codegen-mips64.cc
  M src/mips64/lithium-mips64.cc
  M src/mips64/macro-assembler-mips64.h
  M src/mips64/macro-assembler-mips64.cc
  M src/objects.cc
  D src/register-configuration.h
  D src/register-configuration.cc
  M src/x64/assembler-x64.h
  M src/x64/assembler-x64.cc
  M src/x64/code-stubs-x64.h
  M src/x64/deoptimizer-x64.cc
  M src/x64/lithium-codegen-x64.cc
  M src/x64/lithium-x64.cc
  M src/x64/macro-assembler-x64.h
  M src/x64/macro-assembler-x64.cc
  M src/x87/assembler-x87.h
  M test/cctest/compiler/test-gap-resolver.cc
  M test/cctest/compiler/test-run-native-calls.cc
  M test/cctest/test-code-stubs-arm.cc
  M test/cctest/test-code-stubs-arm64.cc
  M test/cctest/test-code-stubs-ia32.cc
  M test/cctest/test-code-stubs-mips.cc
  M test/cctest/test-code-stubs-mips64.cc
  M test/cctest/test-code-stubs-x64.cc
  M test/unittests/compiler/instruction-selector-unittest.cc
  M test/unittests/compiler/instruction-sequence-unittest.h
  M test/unittests/compiler/instruction-sequence-unittest.cc
  M test/unittests/compiler/register-allocator-unittest.cc
  M tools/gyp/v8.gyp


--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to