Add support for Embedded Constant Pools for PPC and Arm
authormbrandy <mbrandy@us.ibm.com>
Thu, 4 Jun 2015 14:44:00 +0000 (07:44 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 4 Jun 2015 14:44:15 +0000 (14:44 +0000)
commiteac7f04669208cb15132d03ca15c8acd1a2be869
tree03de77464a1d1216b3fae242d50fab5d3c904123
parentac1d19208cb97f98ee2d7e21d7fca376feabf78f
Add support for Embedded Constant Pools for PPC and Arm

Embed constant pools within their corresponding Code
objects.

This removes support for out-of-line constant pools in favor
of the new approach -- the main advantage being that it
eliminates the need to allocate and manage separate constant
pool array objects.

Currently supported on PPC and ARM.  Enabled by default on
PPC only.

This yields a 6% improvment in Octane on PPC64.

R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com
BUG=chromium:478811
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28801}
97 files changed:
include/v8.h
src/arm/assembler-arm-inl.h
src/arm/assembler-arm.cc
src/arm/assembler-arm.h
src/arm/builtins-arm.cc
src/arm/code-stubs-arm.cc
src/arm/constants-arm.h
src/arm/debug-arm.cc
src/arm/deoptimizer-arm.cc
src/arm/frames-arm.cc
src/arm/frames-arm.h
src/arm/full-codegen-arm.cc
src/arm/lithium-codegen-arm.cc
src/arm/macro-assembler-arm.cc
src/arm/macro-assembler-arm.h
src/arm64/assembler-arm64-inl.h
src/arm64/assembler-arm64.cc
src/arm64/assembler-arm64.h
src/arm64/deoptimizer-arm64.cc
src/arm64/frames-arm64.cc
src/assembler.cc
src/assembler.h
src/compiler/arm/code-generator-arm.cc
src/compiler/ppc/code-generator-ppc.cc
src/debug.cc
src/deoptimizer.cc
src/factory.cc
src/factory.h
src/flag-definitions.h
src/frames.cc
src/frames.h
src/globals.h
src/heap-snapshot-generator.cc
src/heap/heap-inl.h
src/heap/heap.cc
src/heap/heap.h
src/heap/mark-compact.cc
src/heap/mark-compact.h
src/heap/objects-visiting-inl.h
src/heap/objects-visiting.cc
src/heap/objects-visiting.h
src/heap/spaces.cc
src/ia32/assembler-ia32-inl.h
src/ia32/assembler-ia32.cc
src/ia32/assembler-ia32.h
src/ia32/deoptimizer-ia32.cc
src/ia32/frames-ia32.cc
src/ic/ic-inl.h
src/ic/ic-state.cc
src/ic/ic-state.h
src/ic/ic.cc
src/ic/ic.h
src/ic/ppc/handler-compiler-ppc.cc
src/lithium.cc
src/macro-assembler.h
src/mips/assembler-mips.cc
src/mips/assembler-mips.h
src/mips/deoptimizer-mips.cc
src/mips/frames-mips.cc
src/mips64/assembler-mips64.cc
src/mips64/assembler-mips64.h
src/mips64/deoptimizer-mips64.cc
src/mips64/frames-mips64.cc
src/objects-debug.cc
src/objects-inl.h
src/objects-printer.cc
src/objects.cc
src/objects.h
src/ppc/assembler-ppc-inl.h
src/ppc/assembler-ppc.cc
src/ppc/assembler-ppc.h
src/ppc/builtins-ppc.cc
src/ppc/code-stubs-ppc.cc
src/ppc/constants-ppc.h
src/ppc/debug-ppc.cc
src/ppc/deoptimizer-ppc.cc
src/ppc/frames-ppc.cc
src/ppc/frames-ppc.h
src/ppc/full-codegen-ppc.cc
src/ppc/lithium-codegen-ppc.cc
src/ppc/macro-assembler-ppc.cc
src/ppc/macro-assembler-ppc.h
src/runtime/runtime-generator.cc
src/snapshot/serialize.cc
src/x64/assembler-x64-inl.h
src/x64/assembler-x64.cc
src/x64/assembler-x64.h
src/x64/deoptimizer-x64.cc
src/x64/frames-x64.cc
src/x87/assembler-x87-inl.h
src/x87/assembler-x87.cc
src/x87/assembler-x87.h
src/x87/deoptimizer-x87.cc
src/x87/frames-x87.cc
test/cctest/test-compiler.cc
test/cctest/test-constantpool.cc
test/cctest/test-reloc-info.cc