Mercurial > hg > graal-jvmci-8
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, ®_map, thread); | 1260 vframe* vf = vframe::new_vframe(&fr, ®_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) { |