comparison src/share/vm/runtime/deoptimization.cpp @ 22720:48fde4d03767

Add assert for Unpack_uncommon_trap for ppc and always check for rethrow_exception
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Wed, 04 Nov 2015 16:11:58 +0100
parents ba7846fcb814
children 1dc87d090f96
comparison
equal deleted inserted replaced
22719:44bc739eae23 22720:48fde4d03767
224 vf = vf->sender(); 224 vf = vf->sender();
225 } 225 }
226 assert(vf->is_compiled_frame(), "Wrong frame type"); 226 assert(vf->is_compiled_frame(), "Wrong frame type");
227 chunk->push(compiledVFrame::cast(vf)); 227 chunk->push(compiledVFrame::cast(vf));
228 228
229 #ifdef INCLUDE_JVMCI
230 ScopeDesc* trap_scope = chunk->at(0)->scope(); 229 ScopeDesc* trap_scope = chunk->at(0)->scope();
231 Handle exceptionObject; 230 Handle exceptionObject;
232 if (trap_scope->rethrow_exception()) { 231 if (trap_scope->rethrow_exception()) {
233 if (PrintDeoptimizationDetails) { 232 if (PrintDeoptimizationDetails) {
234 tty->print_cr("Exception to be rethrown in the interpreter for method %s::%s at bci %d", trap_scope->method()->method_holder()->name()->as_C_string(), trap_scope->method()->name()->as_C_string(), trap_scope->bci()); 233 tty->print_cr("Exception to be rethrown in the interpreter for method %s::%s at bci %d", trap_scope->method()->method_holder()->name()->as_C_string(), trap_scope->method()->name()->as_C_string(), trap_scope->bci());
237 guarantee(expressions != NULL && expressions->length() > 0, "must have exception to throw"); 236 guarantee(expressions != NULL && expressions->length() > 0, "must have exception to throw");
238 ScopeValue* topOfStack = expressions->top(); 237 ScopeValue* topOfStack = expressions->top();
239 exceptionObject = StackValue::create_stack_value(&deoptee, &map, topOfStack)->get_obj(); 238 exceptionObject = StackValue::create_stack_value(&deoptee, &map, topOfStack)->get_obj();
240 assert(exceptionObject() != NULL, "exception oop can not be null"); 239 assert(exceptionObject() != NULL, "exception oop can not be null");
241 } 240 }
242 #endif
243 241
244 bool realloc_failures = false; 242 bool realloc_failures = false;
245 243
246 #if defined(COMPILER2) || INCLUDE_JVMCI 244 #if defined(COMPILER2) || INCLUDE_JVMCI
247 // Reallocate the non-escaping objects and restore their fields. Then 245 // Reallocate the non-escaping objects and restore their fields. Then