Reviewers: Vyacheslav Egorov,

Message:
The diff is this, in objects-visiting-inl.h (and there is an analogous comment
in the templated CodeIterateBody):

--- a/src/objects-visiting-inl.h
+++ b/src/objects-visiting-inl.h
@@ -104,7 +104,10 @@ void Code::CodeIterateBody(ObjectVisitor* v) {
                   RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) |
                   RelocInfo::ModeMask(RelocInfo::RUNTIME_ENTRY);

+  // There are two places where we iterate code bodies: here and the
+  // templated CodeIterateBody (below).  They should be kept in sync.
   IteratePointer(v, kRelocationInfoOffset);
+  IteratePointer(v, kHandlerTableOffset);
   IteratePointer(v, kDeoptimizationDataOffset);

Description:
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.

[email protected]
BUG=
TEST=


Please review this at http://codereview.chromium.org/8538011/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/code-stubs-arm.h
  M src/arm/code-stubs-arm.cc
  M src/arm/frames-arm.h
  M src/arm/full-codegen-arm.cc
  M src/arm/macro-assembler-arm.h
  M src/arm/macro-assembler-arm.cc
  M src/ast.h
  M src/code-stubs.h
  M src/code-stubs.cc
  M src/frames-inl.h
  M src/frames.h
  M src/full-codegen.h
  M src/full-codegen.cc
  M src/heap.cc
  M src/ia32/code-stubs-ia32.h
  M src/ia32/code-stubs-ia32.cc
  M src/ia32/frames-ia32.h
  M src/ia32/full-codegen-ia32.cc
  M src/ia32/macro-assembler-ia32.h
  M src/ia32/macro-assembler-ia32.cc
  M src/objects-inl.h
  M src/objects-visiting-inl.h
  M src/objects.h
  M src/parser.h
  M src/parser.cc
  M src/v8globals.h
  M src/v8memory.h
  M src/x64/assembler-x64.h
  M src/x64/code-stubs-x64.h
  M src/x64/code-stubs-x64.cc
  M src/x64/frames-x64.h
  M src/x64/full-codegen-x64.cc
  M src/x64/macro-assembler-x64.h
  M src/x64/macro-assembler-x64.cc


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to