Reapply "Add a level of indirection to exception handler addresses."
authorkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 11 Nov 2011 13:48:14 +0000 (13:48 +0000)
committerkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 11 Nov 2011 13:48:14 +0000 (13:48 +0000)
commite49d533b509ab712832d8182e7c9eef378036e25
tree94441cf78d545546dfd9a2f7fe93054d4bf6a011
parent66ff8828a0be22ace3597ed14cee865059e500d7
Reapply "Add a level of indirection to exception handler addresses."

Original commit message:

Add a level of indirection to exception handler addresses.

To support deoptimization of exception handlers, the handler address in the
stack is converted to a pair of code object and an index into a separate
table of code offsets.  The index part is invariant under deoptimization.
The index is packed into the handler state field so that handler size does
not change.

R=vegorov@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
34 files changed:
src/arm/code-stubs-arm.cc
src/arm/code-stubs-arm.h
src/arm/frames-arm.h
src/arm/full-codegen-arm.cc
src/arm/macro-assembler-arm.cc
src/arm/macro-assembler-arm.h
src/ast.h
src/code-stubs.cc
src/code-stubs.h
src/frames-inl.h
src/frames.h
src/full-codegen.cc
src/full-codegen.h
src/heap.cc
src/ia32/code-stubs-ia32.cc
src/ia32/code-stubs-ia32.h
src/ia32/frames-ia32.h
src/ia32/full-codegen-ia32.cc
src/ia32/macro-assembler-ia32.cc
src/ia32/macro-assembler-ia32.h
src/objects-inl.h
src/objects-visiting-inl.h
src/objects.h
src/parser.cc
src/parser.h
src/v8globals.h
src/v8memory.h
src/x64/assembler-x64.h
src/x64/code-stubs-x64.cc
src/x64/code-stubs-x64.h
src/x64/frames-x64.h
src/x64/full-codegen-x64.cc
src/x64/macro-assembler-x64.cc
src/x64/macro-assembler-x64.h