Searched refs:worklist (Results 1 - 21 of 21) sorted by relevance

/openjdk7/hotspot/src/share/vm/opto/
H A Dlcm.cpp399 // Select a nice fellow from the worklist to schedule next. If there is only
408 Node *Block::select(PhaseCFG *cfg, Node_List &worklist, GrowableArray<int> &ready_cnt, VectorSet &next_call, uint sched_slot) { argument
411 uint cnt = worklist.size();
413 Node *n = worklist[0];
414 worklist.map(0,worklist.pop());
421 int idx = -1; // Index in worklist
423 for( uint i=0; i<cnt; i++ ) { // Inspect entire worklist
424 // Order in worklist is used to break ties.
428 Node *n = worklist[
574 sched_call( Matcher &matcher, Block_Array &bbs, uint node_cnt, Node_List &worklist, GrowableArray<int> &ready_cnt, MachCallNode *mcall, VectorSet &next_call ) argument
758 Node_List worklist; local
[all...]
H A Dstringopts.hpp85 PhaseStringOpts(PhaseGVN* gvn, Unique_Node_List* worklist);
H A DbuildOopMap.cpp77 // The reaching def's is a simple 1-pass worklist approach. I tried a clever
417 static void do_liveness( PhaseRegAlloc *regalloc, PhaseCFG *cfg, Block_List *worklist, int max_reg_ints, Arena *A, Dict *safehash ) { argument
428 // Push preds onto worklist
430 worklist->push(cfg->_bbs[root->in(i)->_idx]);
434 // blocks on the worklist. Normally this outer loop never trips more
438 while( worklist->size() ) { // Standard worklist algorithm
439 Block *b = worklist->rpop();
539 // Push preds onto worklist
541 worklist
580 Block_List worklist; // Worklist of pending blocks local
[all...]
H A DloopUnswitch.cpp161 Node_List worklist; local
165 // Copy to a worklist for easier manipulation
169 worklist.push(use);
173 while (worklist.size() > 0) {
174 Node* use = worklist.pop();
H A Dlive.cpp38 // block from the worklist. It has a set of delta's - values which are newly
44 // block is put on the worklist.
149 } // End of while-worklist-not-empty
183 if( !delta ) // Not on worklist?
184 // Get a free set; flag as being on worklist
219 // also add it to the delta set and stick the block on the worklist.
226 if( !_deltas[p->_pre_order-1] && // Not on worklist?
228 _worklist->push(p); // Actually go on worklist if already 1st pass
252 _deltas[p->_pre_order-1] = delta; // Flag as on worklist now
253 if( !on_worklist && // Not on worklist
[all...]
H A Dgcm.cpp238 // cycles). Instead we put that Node on a worklist to be handled
257 roots.push(in); // Visit this guy later, using worklist
275 // Process next node on the worklist 'roots'.
347 Block_List worklist; local
348 worklist.push(LCA);
349 while (worklist.size() > 0) {
350 Block* mid = worklist.pop();
363 worklist.push(LCA);
370 worklist.push(mid_parent);
529 // Therefore, the branches visited by the worklist ar
1386 Block_List worklist; local
1424 Block_List worklist; local
1486 Block_List worklist; local
1554 push_pred(Block* blk, int i, Block_List& worklist, Block_Array& node_to_blk) argument
[all...]
H A Dloopopts.cpp196 // IGVN worklist for later cleanup. Move control-dependent data Nodes on the
905 // Place it on the IGVN worklist for later cleanup.
1301 Node_List worklist(area);
1308 // Copy uses to a worklist, so I can munge the def-use info
1311 worklist.push(old->fast_out(j));
1313 while( worklist.size() ) { // Visit all uses
1314 Node *use = worklist.pop();
1377 // Copy uses to a worklist, so I can munge the def-use info
1380 worklist.push(old->fast_out(j));
1382 while( worklist
[all...]
H A Dstringopts.cpp330 // creates so put it on the worklist to be collapsed later.
367 Node_List worklist; local
371 // Prime the worklist
375 worklist.push(n);
379 while (worklist.size() > 0) {
380 Node* ctrl = worklist.pop();
386 worklist.push(ctrl->in(0));
391 worklist.push(ctrl->in(i));
883 Node_List worklist; local
892 worklist
[all...]
H A Dloopnode.cpp2224 Node_List worklist(a);
2225 // Don't need C->root() on worklist since
2227 worklist.push( C->top() );
2229 build_loop_early( visited, worklist, nstack );
2239 // Need C->root() on worklist when processing outs
2240 worklist.push( C->root() );
2242 worklist.push( C->top() );
2243 build_loop_late( visited, worklist, nstack );
2350 memset( worklist.adr(), 0, worklist
3012 build_loop_early( VectorSet &visited, Node_List &worklist, Node_Stack &nstack ) argument
3240 Node_List worklist; local
3376 build_loop_late( VectorSet &visited, Node_List &worklist, Node_Stack &nstack ) argument
[all...]
H A DphaseX.cpp384 PhaseRemoveUseless::PhaseRemoveUseless( PhaseGVN *gvn, Unique_Node_List *worklist ) : Phase(Remove_Useless),
400 // Remove all useless nodes from future worklist
401 worklist->remove_useless_nodes(_useful.member_set());
804 // Any Phis or Regions on the worklist probably had uses that could not
806 // were in half-built states. Put all uses of Phis and Regions on worklist.
847 // Initialize worklist for each node.
877 // Pull from worklist; transform node;
878 // If node has changed: update edge info and put uses on worklist.
977 // Fill worklist completely
999 // info. Put on worklist
1435 Unique_Node_List worklist; local
[all...]
H A Dblock.hpp287 uint sched_call(Matcher &matcher, Block_Array &bbs, uint node_cnt, Node_List &worklist, GrowableArray<int> &ready_cnt, MachCallNode *mcall, VectorSet &next_call);
290 Node *select(PhaseCFG *cfg, Node_List &worklist, GrowableArray<int> &ready_cnt, VectorSet &next_call, uint sched_slot);
546 void push_pred(Block* blk, int i, Block_List& worklist, Block_Array& node_to_blk);
H A Dloopnode.hpp711 void build_loop_early( VectorSet &visited, Node_List &worklist, Node_Stack &nstack );
712 void build_loop_late ( VectorSet &visited, Node_List &worklist, Node_Stack &nstack );
964 int clone_for_use_outside_loop( IdealLoopTree *loop, Node* n, Node_List& worklist );
967 VectorSet& not_peel, Node_List& sink_list, Node_List& worklist );
H A DphaseX.hpp144 // Remove useless nodes from GVN hash-table, worklist, and graph
150 PhaseRemoveUseless( PhaseGVN *gvn, Unique_Node_List *worklist );
420 // Warm up hash table, type table and initial worklist
435 Unique_Node_List _worklist; // Iterative worklist
437 // Given def-use info and an initial worklist, apply Node::Ideal,
461 // Add users of 'n' to worklist
H A Dmatcher.cpp161 Unique_Node_List worklist; local
163 worklist.push(xroot);
164 while (worklist.size() > 0) {
165 Node* n = worklist.pop();
173 worklist.push(in);
H A Dmemnode.cpp244 // Wait if control on the worklist.
670 // Add the phi node and the cast to the worklist.
671 Unique_Node_List worklist; local
672 worklist.push(adr_phi);
675 worklist.push(cast);
679 while( worklist.size() ){
680 // Take a node off the worklist
681 Node *n = worklist.pop();
689 // - or it is a phi node (then we add its inputs to the worklist)
692 worklist
[all...]
H A Dblock.cpp1351 Block_List worklist;
/openjdk7/hotspot/src/share/vm/c1/
H A Dc1_ValueMap.cpp74 ValueMapEntryList worklist(8);
84 worklist.push(entry);
88 while (!worklist.is_empty()) {
89 entry = worklist.pop();
315 // add predecessors to worklist
H A Dc1_IR.cpp346 Values* worklist; member in class:UseCountComputer
356 worklist->push(*n);
379 while (worklist->length() > 0) {
380 Value t = worklist->pop();
394 worklist = new Values();
819 TRACE_LINEAR_SCAN(3, tty->print_cr("Sorted B%d into worklist. new worklist:", cur->block_id()));
825 assert(i == 0 || _work_list.at(i - 1)->linear_scan_number() <= _work_list.at(i)->linear_scan_number(), "incorrect order in worklist");
H A Dc1_GraphBuilder.hpp403 static void sort_top_into_worklist(BlockList* worklist, BlockBegin* top);
H A Dc1_GraphBuilder.cpp792 void GraphBuilder::sort_top_into_worklist(BlockList* worklist, BlockBegin* top) { argument
793 assert(worklist->top() == top, "");
797 int i = worklist->length()-2;
799 BlockBegin* b = worklist->at(i);
801 worklist->at_put(i+1, b);
807 if (i >= -1) worklist->at_put(i + 1, top);
/openjdk7/hotspot/src/share/vm/ci/
H A DbcEscapeAnalyzer.cpp1063 GrowableArray<ciBlock *> worklist(arena, numblocks / 4, 0, NULL);
1094 worklist.push(first_blk);
1095 while(worklist.length() > 0) {
1096 ciBlock *blk = worklist.pop();
1148 worklist.push(succ);

Completed in 206 milliseconds