comparison src/share/vm/runtime/deoptimization.cpp @ 14172:cd22c8dbda4f

Made graph caching compilation local
author Doug Simon <doug.simon@oracle.com>
date Thu, 13 Mar 2014 15:36:30 +0100
parents a9604b40f5e7
children 29ccc4cbabca
comparison
equal deleted inserted replaced
14171:8c0e92c8c45b 14172:cd22c8dbda4f
206 } 206 }
207 207
208 // Create a growable array of VFrames where each VFrame represents an inlined 208 // Create a growable array of VFrames where each VFrame represents an inlined
209 // Java frame. This storage is allocated with the usual system arena. 209 // Java frame. This storage is allocated with the usual system arena.
210 assert(deoptee.is_compiled_frame(), "Wrong frame type"); 210 assert(deoptee.is_compiled_frame(), "Wrong frame type");
211
212 #ifdef GRAAL
213 nmethod* nm = (nmethod*) deoptee.cb();
214 GraalCompiler* compiler = (GraalCompiler*) nm->compiler();
215 for (jlong* p = nm->leaf_graph_ids_begin(); p != nm->leaf_graph_ids_end(); p++) {
216 compiler->deopt_leaf_graph(*p);
217 }
218 if (PrintDeoptimizationDetails) {
219 tty->print("leaf graph ids: ");
220 for (jlong* p = nm->leaf_graph_ids_begin(); p != nm->leaf_graph_ids_end(); p++) {
221 tty->print("%d ", *p);
222 }
223 tty->cr();
224 }
225 #endif
226 211
227 GrowableArray<compiledVFrame*>* chunk = new GrowableArray<compiledVFrame*>(10); 212 GrowableArray<compiledVFrame*>* chunk = new GrowableArray<compiledVFrame*>(10);
228 vframe* vf = vframe::new_vframe(&deoptee, &map, thread); 213 vframe* vf = vframe::new_vframe(&deoptee, &map, thread);
229 while (!vf->is_top()) { 214 while (!vf->is_top()) {
230 assert(vf->is_compiled_frame(), "Wrong frame type"); 215 assert(vf->is_compiled_frame(), "Wrong frame type");