comparison src/share/vm/runtime/deoptimization.cpp @ 7212:291ffc492eb6

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Fri, 14 Dec 2012 14:35:13 +0100
parents 5d0bb7d52783 d2f8c38e543d
children 310a68c63b69
comparison
equal deleted inserted replaced
7163:2ed8d74e5984 7212:291ffc492eb6
747 } 747 }
748 cur_array->print_on_2(tty); 748 cur_array->print_on_2(tty);
749 guarantee(false, "wrong number of expression stack elements during deopt"); 749 guarantee(false, "wrong number of expression stack elements during deopt");
750 } 750 }
751 VerifyOopClosure verify; 751 VerifyOopClosure verify;
752 iframe->oops_interpreted_do(&verify, &rm, false); 752 iframe->oops_interpreted_do(&verify, NULL, &rm, false);
753 callee_size_of_parameters = mh->size_of_parameters(); 753 callee_size_of_parameters = mh->size_of_parameters();
754 callee_max_locals = mh->max_locals(); 754 callee_max_locals = mh->max_locals();
755 is_top_frame = false; 755 is_top_frame = false;
756 } 756 }
757 } 757 }
1282 // Make sure the calling nmethod is not getting deoptimized and removed 1282 // Make sure the calling nmethod is not getting deoptimized and removed
1283 // before we are done with it. 1283 // before we are done with it.
1284 nmethodLocker nl(fr.pc()); 1284 nmethodLocker nl(fr.pc());
1285 1285
1286 // Log a message 1286 // Log a message
1287 Events::log_deopt_message(thread, "Uncommon trap %d fr.pc " INTPTR_FORMAT, 1287 Events::log(thread, "Uncommon trap: trap_request=" PTR32_FORMAT " fr.pc=" INTPTR_FORMAT,
1288 trap_request, fr.pc()); 1288 trap_request, fr.pc());
1289 1289
1290 { 1290 {
1291 ResourceMark rm; 1291 ResourceMark rm;
1292 1292
1293 // Revoke biases of any monitors in the frame to ensure we can migrate them 1293 // Revoke biases of any monitors in the frame to ensure we can migrate them
1343 // Ensure that we can record deopt. history: 1343 // Ensure that we can record deopt. history:
1344 bool create_if_missing = ProfileTraps; 1344 bool create_if_missing = ProfileTraps;
1345 1345
1346 MethodData* trap_mdo = 1346 MethodData* trap_mdo =
1347 get_method_data(thread, trap_method, create_if_missing); 1347 get_method_data(thread, trap_method, create_if_missing);
1348
1349 // Log a message
1350 Events::log_deopt_message(thread, "Uncommon trap: reason=%s action=%s pc=" INTPTR_FORMAT " method=%s @ %d",
1351 trap_reason_name(reason), trap_action_name(action), fr.pc(),
1352 trap_method->name_and_sig_as_C_string(), trap_bci);
1348 1353
1349 // Print a bunch of diagnostics, if requested. 1354 // Print a bunch of diagnostics, if requested.
1350 if (TraceDeoptimization || LogCompilation) { 1355 if (TraceDeoptimization || LogCompilation) {
1351 ResourceMark rm; 1356 ResourceMark rm;
1352 ttyLocker ttyl; 1357 ttyLocker ttyl;