Add code again to allow reclaiming old unexecuted functions.
authordanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 8 Nov 2012 12:18:11 +0000 (12:18 +0000)
committerdanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 8 Nov 2012 12:18:11 +0000 (12:18 +0000)
commitbd4e114b8e60185ef9169ba22b932a4b732e13c6
tree2735b724e7b06253813f78fde99937d7ba4c3579
parent943c10bb87fbdce053863d491d18b34dbc555218
Add code again to allow reclaiming old unexecuted functions.

When code objects in the heap for FUNCTIONs and OPTIMIZED_FUNCTIONs are marked by the GC, their prologue is patched with a call to a stub that removes the patch. This allows the collector to quickly identify code objects that haven't been executed since the last full collection (they are the ones that sill contain the patch). The functionality is currently disabled, but can be activated by specifying the "--age-code".

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
35 files changed:
src/arm/assembler-arm-inl.h
src/arm/builtins-arm.cc
src/arm/codegen-arm.cc
src/arm/codegen-arm.h
src/arm/full-codegen-arm.cc
src/arm/lithium-codegen-arm.cc
src/assembler.cc
src/assembler.h
src/builtins.h
src/code-stubs.h
src/compiler.cc
src/debug.cc
src/flag-definitions.h
src/ia32/assembler-ia32-inl.h
src/ia32/assembler-ia32.cc
src/ia32/builtins-ia32.cc
src/ia32/codegen-ia32.cc
src/ia32/codegen-ia32.h
src/ia32/full-codegen-ia32.cc
src/ia32/lithium-codegen-ia32.cc
src/liveedit.cc
src/mark-compact.cc
src/mark-compact.h
src/objects-visiting-inl.h
src/objects-visiting.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/codegen-x64.h
src/x64/full-codegen-x64.cc
src/x64/lithium-codegen-x64.cc