Mercurial > hg > graal-jvmci-8
comparison 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 |
comparison
equal
deleted
inserted
replaced
3166:462c89186179 | 3167:132aa6f2bbc0 |
---|---|
1245 if (trap_scope->rethrow_exception()) { | 1245 if (trap_scope->rethrow_exception()) { |
1246 if (TraceDeoptimization) { | 1246 if (TraceDeoptimization) { |
1247 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); | 1247 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); |
1248 } | 1248 } |
1249 GrowableArray<ScopeValue*>* expressions = trap_scope->expressions(); | 1249 GrowableArray<ScopeValue*>* expressions = trap_scope->expressions(); |
1250 guarantee(expressions != NULL, "must have exception to throw"); | |
1250 ScopeValue* topOfStack = expressions->top(); | 1251 ScopeValue* topOfStack = expressions->top(); |
1251 Handle topOfStackObj = cvf->create_stack_value(topOfStack)->get_obj(); | 1252 Handle topOfStackObj = cvf->create_stack_value(topOfStack)->get_obj(); |
1252 THREAD->set_pending_exception(topOfStackObj(), NULL, 0); | 1253 THREAD->set_pending_exception(topOfStackObj(), NULL, 0); |
1253 } | 1254 } |
1254 | 1255 |