Refactor BasicBlock to not use GenericNode.
authorjarin@chromium.org <jarin@chromium.org>
Tue, 30 Sep 2014 08:23:20 +0000 (08:23 +0000)
committerjarin@chromium.org <jarin@chromium.org>
Tue, 30 Sep 2014 08:23:20 +0000 (08:23 +0000)
commit6a07181cde8d0815bfd7f80790aef965f6431a9c
tree12395334a4f02e39a88b1825d7d51439b5b7ef9a
parent381616fb7006f370c2c887a06477ade0a13ce35a
Refactor BasicBlock to not use GenericNode.

To manage BasicBlock's predecessors and successors we now use plain
std::vector.

The change also moves bunch of method definitions from header files
to implementation files.

In zlib, the change brings 3x improvement in the scheduler's memory
consumption. The --turbo-stats flag says we go 169MB -> 55MB in
the scheduler, 383MB -> 268MB overall.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/606403003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
20 files changed:
src/basic-block-profiler.cc
src/basic-block-profiler.h
src/compiler/basic-block-instrumentor.cc
src/compiler/code-generator-impl.h
src/compiler/code-generator.cc
src/compiler/code-generator.h
src/compiler/instruction-selector-impl.h
src/compiler/instruction-selector.cc
src/compiler/instruction.cc
src/compiler/instruction.h
src/compiler/phi-reducer.h
src/compiler/register-allocator.cc
src/compiler/schedule.cc
src/compiler/schedule.h
src/compiler/scheduler.cc
src/compiler/scheduler.h
src/compiler/verifier.cc
src/compiler/x64/instruction-selector-x64.cc
test/cctest/compiler/test-schedule.cc
test/cctest/compiler/test-scheduler.cc