Reviewers: ulan,
Message:
PTAL.
In try..finally, if an exception is thrown in the try block, execute the
finally
block before (re)throwing the exception. It can happen that the finally
block
triggers IC initialization, which calls to Execution::Call (with
uncaught-exception handling and everything). Any exception and the
corresponding message is then cleared before we return to the finally block
from
initializing the IC. The exception itself is restored, but the error
message is
now lost.
This CL add tracking of nesting levels of finally blocks (called by
throwing an
exception) and prevents clearing the message inside nested blocks.
Description:
Preserve error message during finally block in try..finally.
[email protected]
BUG=129171
TEST=test-api/TryFinallyMessage
Please review this at http://codereview.chromium.org/10537078/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/full-codegen-arm.cc
M src/assembler.h
M src/assembler.cc
M src/full-codegen.h
M src/full-codegen.cc
M src/ia32/full-codegen-ia32.cc
M src/isolate.h
M src/isolate.cc
M src/x64/full-codegen-x64.cc
M test/cctest/test-api.cc
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev