hotspot/src/share/vm/opto/block.hpp
changeset 35087 bdc3835a6e59
parent 33451 0712796e4039
child 35545 a8f29dfd62b2
equal deleted inserted replaced
35086:bbf32241d851 35087:bdc3835a6e59
   417   // basic blocks; i.e. _node_to_block_mapping now maps _idx for all Nodes to some Block.
   417   // basic blocks; i.e. _node_to_block_mapping now maps _idx for all Nodes to some Block.
   418   // Move nodes to ensure correctness from GVN and also try to move nodes out of loops.
   418   // Move nodes to ensure correctness from GVN and also try to move nodes out of loops.
   419   void global_code_motion();
   419   void global_code_motion();
   420 
   420 
   421   // Schedule Nodes early in their basic blocks.
   421   // Schedule Nodes early in their basic blocks.
   422   bool schedule_early(VectorSet &visited, Node_List &roots);
   422   bool schedule_early(VectorSet &visited, Node_Stack &roots);
   423 
   423 
   424   // For each node, find the latest block it can be scheduled into
   424   // For each node, find the latest block it can be scheduled into
   425   // and then select the cheapest block between the latest and earliest
   425   // and then select the cheapest block between the latest and earliest
   426   // block to place the node.
   426   // block to place the node.
   427   void schedule_late(VectorSet &visited, Node_List &stack);
   427   void schedule_late(VectorSet &visited, Node_Stack &stack);
   428 
   428 
   429   // Compute the (backwards) latency of a node from a single use
   429   // Compute the (backwards) latency of a node from a single use
   430   int latency_from_use(Node *n, const Node *def, Node *use);
   430   int latency_from_use(Node *n, const Node *def, Node *use);
   431 
   431 
   432   // Compute the (backwards) latency of a node from the uses of this instruction
   432   // Compute the (backwards) latency of a node from the uses of this instruction
   433   void partial_latency_of_defs(Node *n);
   433   void partial_latency_of_defs(Node *n);
   434 
   434 
   435   // Compute the instruction global latency with a backwards walk
   435   // Compute the instruction global latency with a backwards walk
   436   void compute_latencies_backwards(VectorSet &visited, Node_List &stack);
   436   void compute_latencies_backwards(VectorSet &visited, Node_Stack &stack);
   437 
   437 
   438   // Pick a block between early and late that is a cheaper alternative
   438   // Pick a block between early and late that is a cheaper alternative
   439   // to late. Helper for schedule_late.
   439   // to late. Helper for schedule_late.
   440   Block* hoist_to_cheaper_block(Block* LCA, Block* early, Node* self);
   440   Block* hoist_to_cheaper_block(Block* LCA, Block* early, Node* self);
   441 
   441