Enable preaging of code objects when --optimize-for-size.
authordanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 23 Oct 2013 13:48:04 +0000 (13:48 +0000)
committerdanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 23 Oct 2013 13:48:04 +0000 (13:48 +0000)
commitbdeaf7514a151a37f58aaad227d0d8ebd4b16d27
treebf6cb26500352c09fa1165b3a3bce3645fc5dc61
parentbf7a9bf8dcca415dbca84f2cb4c4d89f48c52aa6
Enable preaging of code objects when --optimize-for-size.

This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is  reset to the young age, thus being kept around for the same number of GC generations as currently.

BUG=280984
R=danno@chromium.org, hpayer@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
44 files changed:
src/arm/assembler-arm-inl.h
src/arm/builtins-arm.cc
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/assembler.cc
src/assembler.h
src/builtins.h
src/codegen.cc
src/compiler.cc
src/compiler.h
src/factory.cc
src/factory.h
src/frames.h
src/full-codegen.cc
src/heap.cc
src/heap.h
src/ia32/assembler-ia32-inl.h
src/ia32/assembler-ia32.cc
src/ia32/builtins-ia32.cc
src/ia32/codegen-ia32.cc
src/ia32/full-codegen-ia32.cc
src/ia32/lithium-codegen-ia32.cc
src/ia32/macro-assembler-ia32.cc
src/ia32/macro-assembler-ia32.h
src/mips/assembler-mips-inl.h
src/mips/builtins-mips.cc
src/mips/full-codegen-mips.cc
src/mips/lithium-codegen-mips.cc
src/mips/macro-assembler-mips.cc
src/mips/macro-assembler-mips.h
src/objects.cc
src/objects.h
src/serialize.cc
src/x64/assembler-x64-inl.h
src/x64/assembler-x64.cc
src/x64/builtins-x64.cc
src/x64/codegen-x64.cc
src/x64/full-codegen-x64.cc
src/x64/lithium-codegen-x64.cc
src/x64/macro-assembler-x64.cc
src/x64/macro-assembler-x64.h
test/cctest/test-heap.cc