Reviewers: Vyacheslav Egorov, Steven,

Message:
I have separate change of cleanup after this one (e.g., we can remove the exit
context statements).


http://codereview.chromium.org/7618007/diff/1/src/full-codegen.cc
File src/full-codegen.cc (right):

http://codereview.chromium.org/7618007/diff/1/src/full-codegen.cc#newcode94
src/full-codegen.cc:94: Visit(stmt->expression());
I'm not sure this is right, I'll check with Soeren.

Description:
Simplify handling of exits from with and catch.

Remove the try/finally used for with and catch.  Instead of using
try/finally to handle break and continue from with or catch,
statically track nesting dept and clean up when compiling break or
continue.

And instead of using try/finally to handle throw to handler in a frame
whose pc is inside a with or catch, store the context that the handler
should run in in the handler itself.

BUG=
TEST=


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

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

Affected files:
  M src/arm/frames-arm.h
  M src/arm/macro-assembler-arm.cc
  M src/ast.h
  M src/ast.cc
  M src/frames-inl.h
  M src/frames.h
  M src/full-codegen.h
  M src/full-codegen.cc
  M src/hydrogen.cc
  M src/ia32/frames-ia32.h
  M src/ia32/macro-assembler-ia32.cc
  M src/parser.h
  M src/parser.cc
  M src/prettyprinter.cc
  M src/rewriter.cc
  M src/x64/frames-x64.h
  M src/x64/macro-assembler-x64.cc
  M test/mjsunit/with-leave.js


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

Reply via email to