Mercurial > hg > truffle
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"); |