comparison src/share/vm/opto/stringopts.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 2aff40cb4703
children ad5dd04754ee
comparison
equal deleted inserted replaced
7163:2ed8d74e5984 7212:291ffc492eb6
239 call->init_req(TypeFunc::Parms, __ intcon(trap_request)); 239 call->init_req(TypeFunc::Parms, __ intcon(trap_request));
240 kit.add_safepoint_edges(call); 240 kit.add_safepoint_edges(call);
241 241
242 _stringopts->gvn()->transform(call); 242 _stringopts->gvn()->transform(call);
243 C->gvn_replace_by(uct, call); 243 C->gvn_replace_by(uct, call);
244 uct->disconnect_inputs(NULL); 244 uct->disconnect_inputs(NULL, C);
245 } 245 }
246 } 246 }
247 247
248 void cleanup() { 248 void cleanup() {
249 // disconnect the hook node 249 // disconnect the hook node
250 _arguments->disconnect_inputs(NULL); 250 _arguments->disconnect_inputs(NULL, _stringopts->C);
251 } 251 }
252 }; 252 };
253 253
254 254
255 void StringConcat::eliminate_unneeded_control() { 255 void StringConcat::eliminate_unneeded_control() {
356 if (mem_proj != NULL) { 356 if (mem_proj != NULL) {
357 Node *mem = init->in(TypeFunc::Memory); 357 Node *mem = init->in(TypeFunc::Memory);
358 C->gvn_replace_by(mem_proj, mem); 358 C->gvn_replace_by(mem_proj, mem);
359 } 359 }
360 C->gvn_replace_by(init, C->top()); 360 C->gvn_replace_by(init, C->top());
361 init->disconnect_inputs(NULL); 361 init->disconnect_inputs(NULL, C);
362 } 362 }
363 363
364 Node_List PhaseStringOpts::collect_toString_calls() { 364 Node_List PhaseStringOpts::collect_toString_calls() {
365 Node_List string_calls; 365 Node_List string_calls;
366 Node_List worklist; 366 Node_List worklist;
1475 1475
1476 // hook up the outgoing control and result 1476 // hook up the outgoing control and result
1477 kit.replace_call(sc->end(), result); 1477 kit.replace_call(sc->end(), result);
1478 1478
1479 // Unhook any hook nodes 1479 // Unhook any hook nodes
1480 string_sizes->disconnect_inputs(NULL); 1480 string_sizes->disconnect_inputs(NULL, C);
1481 sc->cleanup(); 1481 sc->cleanup();
1482 } 1482 }