Record function call targets, use them for inlining.
authorkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 27 Sep 2011 11:42:02 +0000 (11:42 +0000)
committerkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 27 Sep 2011 11:42:02 +0000 (11:42 +0000)
commitbcb781d76a2abf7f3538d954b49b4f950c6461a4
tree19bc96e6fe2b154595d27e7869bf8122000d65b4
parentebc3010ca3857b98bcb1e7d7648f8b513cccddd6
Record function call targets, use them for inlining.

Introduce a version of the CallFunctionStub that records monomorphic
call targets in a one-element cache in the instruction stream.  Use
the cache for inlining attempts in the optimizing backend.

R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7966038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
19 files changed:
src/arm/code-stubs-arm.cc
src/arm/lithium-codegen-arm.cc
src/ast.cc
src/code-stubs.cc
src/code-stubs.h
src/hydrogen.cc
src/ia32/code-stubs-ia32.cc
src/ia32/full-codegen-ia32.cc
src/ia32/lithium-codegen-ia32.cc
src/ia32/lithium-ia32.cc
src/ia32/lithium-ia32.h
src/mark-compact.cc
src/objects-inl.h
src/objects.h
src/type-info.cc
src/type-info.h
src/v8globals.h
src/x64/code-stubs-x64.cc
src/x64/lithium-codegen-x64.cc