Mercurial > hg > truffle
diff src/share/vm/runtime/deoptimization.cpp @ 3167:132aa6f2bbc0
Fixed rethrow exception frame state (again.. and this time added some useful assertions).
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Wed, 06 Jul 2011 17:02:15 +0200 |
parents | 5ca1332171c8 |
children | be4ca325525a |
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp Wed Jul 06 16:43:19 2011 +0200 +++ b/src/share/vm/runtime/deoptimization.cpp Wed Jul 06 17:02:15 2011 +0200 @@ -1247,6 +1247,7 @@ tty->print_cr("Exception to be rethrown in the interpreter for method %s::%s at bci %d", instanceKlass::cast(trap_method->method_holder())->name()->as_C_string(), trap_method->name()->as_C_string(), trap_bci); } GrowableArray<ScopeValue*>* expressions = trap_scope->expressions(); + guarantee(expressions != NULL, "must have exception to throw"); ScopeValue* topOfStack = expressions->top(); Handle topOfStackObj = cvf->create_stack_value(topOfStack)->get_obj(); THREAD->set_pending_exception(topOfStackObj(), NULL, 0);