Mercurial > hg > graal-jvmci-8
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 |