comparison src/share/vm/runtime/deoptimization.cpp @ 4140:716a2c5c0656

Further reduce diff to HotSpot.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sun, 18 Dec 2011 01:01:34 +0100
parents 04b9a2566eec
children 9ae5048b9153
comparison
equal deleted inserted replaced
4139:feb590a8497f 4140:716a2c5c0656
210 vf = vf->sender(); 210 vf = vf->sender();
211 } 211 }
212 assert(vf->is_compiled_frame(), "Wrong frame type"); 212 assert(vf->is_compiled_frame(), "Wrong frame type");
213 chunk->push(compiledVFrame::cast(vf)); 213 chunk->push(compiledVFrame::cast(vf));
214 214
215 // TODO(tw): Fix this hack after introducing GRAAL macro.
215 //#ifdef COMPILER2 216 //#ifdef COMPILER2
216 // Reallocate the non-escaping objects and restore their fields. Then 217 // Reallocate the non-escaping objects and restore their fields. Then
217 // relock objects if synchronization on them was eliminated. 218 // relock objects if synchronization on them was eliminated.
218 // if (DoEscapeAnalysis) { 219 // if (DoEscapeAnalysis) {
219 // if (EliminateAllocations) { 220 // if (EliminateAllocations) {
1253 1254
1254 DeoptReason reason = trap_request_reason(trap_request); 1255 DeoptReason reason = trap_request_reason(trap_request);
1255 DeoptAction action = trap_request_action(trap_request); 1256 DeoptAction action = trap_request_action(trap_request);
1256 jint unloaded_class_index = trap_request_index(trap_request); // CP idx or -1 1257 jint unloaded_class_index = trap_request_index(trap_request); // CP idx or -1
1257 1258
1258 // tty->print_cr("trap_request: %08x, cpi: %i, pc: %016x", trap_request, unloaded_class_index, fr.pc());
1259
1260
1261 Events::log("Uncommon trap occurred @" INTPTR_FORMAT " unloaded_class_index = %d", fr.pc(), (int) trap_request); 1259 Events::log("Uncommon trap occurred @" INTPTR_FORMAT " unloaded_class_index = %d", fr.pc(), (int) trap_request);
1262 vframe* vf = vframe::new_vframe(&fr, &reg_map, thread); 1260 vframe* vf = vframe::new_vframe(&fr, &reg_map, thread);
1263 compiledVFrame* cvf = compiledVFrame::cast(vf); 1261 compiledVFrame* cvf = compiledVFrame::cast(vf);
1264 1262
1265 nmethod* nm = cvf->code(); 1263 nmethod* nm = cvf->code();
1264
1266 ScopeDesc* trap_scope = cvf->scope(); 1265 ScopeDesc* trap_scope = cvf->scope();
1267 1266
1268 if (TraceDeoptimization) { 1267 if (TraceDeoptimization) {
1269 tty->print_cr("Deoptimization: bci=%d pc=%d, relative_pc=%d, method=%s", trap_scope->bci(), fr.pc(), fr.pc() - nm->code_begin(), trap_scope->method()->name()->as_C_string()); 1268 tty->print_cr("Deoptimization: bci=%d pc=%d, relative_pc=%d, method=%s", trap_scope->bci(), fr.pc(), fr.pc() - nm->code_begin(), trap_scope->method()->name()->as_C_string());
1270 if (thread->graal_deopt_info() != NULL) { 1269 if (thread->graal_deopt_info() != NULL) {