Reviewers: akos.palfi.imgtec, Benedikt Meurer, Jarin, paul.l..., titzer,
Message:
Created Revert of Reland: Remove register index/code indirection
Description:
Revert of Reland: Remove register index/code indirection (patchset #20
id:380001
of https://codereview.chromium.org/1287383003/ )
Reason for revert:
Failures on MIPS
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}
Committed: https://crrev.com/7b7a8205d9a00c678fb7a6e032a55fecbc1509cf
Cr-Commit-Position: refs/heads/master@{#31075}
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/1380863004/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+1869, -1682 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/greedy-allocator.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.