Handle exceptions thrown while parsing lazy functions for inlining.
authorlrn@chromium.org <lrn@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 17 Feb 2011 12:23:18 +0000 (12:23 +0000)
committerlrn@chromium.org <lrn@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 17 Feb 2011 12:23:18 +0000 (12:23 +0000)
commitcf50c5e27c0053ce75ee2a4f40d739a2c276fa76
tree55805c0a17509d6b98858d552d959b8560d3e9f0
parent82cdd48b2f383fbed82dc4ba71cfd326176facde
Handle exceptions thrown while parsing lazy functions for inlining.
We currently leave the exception as pending without returning a Failure::Exception() value. This is either caught immediately if running with --debug-code, or caught later by an assert in debug mode.

This change makes the pending exception be cleared before returning from the failed optimization attempt.

BUG=v8::1145
TEST=test/mjsunit/regress/regress-1145.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/handles.cc
src/handles.h
src/runtime.cc
test/mjsunit/regress/regress-1145.js [new file with mode: 0644]