Mercurial > hg > graal-compiler
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; |