equal
deleted
inserted
replaced
231 oop result = deoptee.saved_oop_result(&map); |
231 oop result = deoptee.saved_oop_result(&map); |
232 assert(result == NULL || result->is_oop(), "must be oop"); |
232 assert(result == NULL || result->is_oop(), "must be oop"); |
233 return_value = Handle(thread, result); |
233 return_value = Handle(thread, result); |
234 assert(Universe::heap()->is_in_or_null(result), "must be heap pointer"); |
234 assert(Universe::heap()->is_in_or_null(result), "must be heap pointer"); |
235 if (TraceDeoptimization) { |
235 if (TraceDeoptimization) { |
|
236 ttyLocker ttyl; |
236 tty->print_cr("SAVED OOP RESULT " INTPTR_FORMAT " in thread " INTPTR_FORMAT, result, thread); |
237 tty->print_cr("SAVED OOP RESULT " INTPTR_FORMAT " in thread " INTPTR_FORMAT, result, thread); |
237 } |
238 } |
238 } |
239 } |
239 bool reallocated = false; |
240 bool reallocated = false; |
240 if (objects != NULL) { |
241 if (objects != NULL) { |
491 // correct (initial fp value, unextended sp, ...) |
492 // correct (initial fp value, unextended sp, ...) |
492 info->set_initial_info((intptr_t) array->sender().initial_deoptimization_info()); |
493 info->set_initial_info((intptr_t) array->sender().initial_deoptimization_info()); |
493 |
494 |
494 if (array->frames() > 1) { |
495 if (array->frames() > 1) { |
495 if (VerifyStack && TraceDeoptimization) { |
496 if (VerifyStack && TraceDeoptimization) { |
|
497 ttyLocker ttyl; |
496 tty->print_cr("Deoptimizing method containing inlining"); |
498 tty->print_cr("Deoptimizing method containing inlining"); |
497 } |
499 } |
498 } |
500 } |
499 |
501 |
500 array->set_unroll_block(info); |
502 array->set_unroll_block(info); |
571 // must point to the vframeArray for the unpack frame. |
573 // must point to the vframeArray for the unpack frame. |
572 vframeArray* array = thread->vframe_array_head(); |
574 vframeArray* array = thread->vframe_array_head(); |
573 |
575 |
574 #ifndef PRODUCT |
576 #ifndef PRODUCT |
575 if (TraceDeoptimization) { |
577 if (TraceDeoptimization) { |
|
578 ttyLocker ttyl; |
576 tty->print_cr("DEOPT UNPACKING thread " INTPTR_FORMAT " vframeArray " INTPTR_FORMAT " mode %d", thread, array, exec_mode); |
579 tty->print_cr("DEOPT UNPACKING thread " INTPTR_FORMAT " vframeArray " INTPTR_FORMAT " mode %d", thread, array, exec_mode); |
577 } |
580 } |
578 #endif |
581 #endif |
579 Events::log(thread, "DEOPT UNPACKING pc=" INTPTR_FORMAT " sp=" INTPTR_FORMAT " mode %d", |
582 Events::log(thread, "DEOPT UNPACKING pc=" INTPTR_FORMAT " sp=" INTPTR_FORMAT " mode %d", |
580 stub_frame.pc(), stub_frame.sp(), exec_mode); |
583 stub_frame.pc(), stub_frame.sp(), exec_mode); |
1320 xtty->end_head(); |
1323 xtty->end_head(); |
1321 } |
1324 } |
1322 if (TraceDeoptimization) { // make noise on the tty |
1325 if (TraceDeoptimization) { // make noise on the tty |
1323 tty->print("Uncommon trap occurred in"); |
1326 tty->print("Uncommon trap occurred in"); |
1324 nm->method()->print_short_name(tty); |
1327 nm->method()->print_short_name(tty); |
1325 tty->print(" (@" INTPTR_FORMAT ") thread=%d reason=%s action=%s unloaded_class_index=%d", |
1328 tty->print(" (@" INTPTR_FORMAT ") thread=" UINTX_FORMAT " reason=%s action=%s unloaded_class_index=%d", |
1326 fr.pc(), |
1329 fr.pc(), |
1327 (int) os::current_thread_id(), |
1330 os::current_thread_id(), |
1328 trap_reason_name(reason), |
1331 trap_reason_name(reason), |
1329 trap_action_name(action), |
1332 trap_action_name(action), |
1330 unloaded_class_index); |
1333 unloaded_class_index); |
1331 if (class_name != NULL) { |
1334 if (class_name != NULL) { |
1332 tty->print(unresolved ? " unresolved class: " : " symbol: "); |
1335 tty->print(unresolved ? " unresolved class: " : " symbol: "); |