Lines Matching refs:block

255       if (PrintCFG || PrintCFG1) { tty->print_cr("CFG after block elimination"); print(true); }
256 if (PrintIR || PrintIR1 ) { tty->print_cr("IR after block elimination"); print(false); }
309 tty->print_cr("Split critical edge B%d -> B%d (new block B%d)",
418 int _max_block_id; // the highest block_id of a block
428 intArray _forward_branches; // number of incoming forward branches for each block
430 BitMap2D _loop_map; // two-dimensional bit set: a bit is set if a block is contained in a loop
460 // computation of final block order
502 TRACE_LINEAR_SCAN(2, "***** computing linear-scan block order");
536 TRACE_LINEAR_SCAN(3, tty->print_cr("Enter count_edges for block B%d coming from B%d", cur->block_id(), parent != NULL ? parent->block_id() : -1));
541 assert(is_visited(cur), "block must be visisted when block is active");
568 TRACE_LINEAR_SCAN(3, tty->print_cr("block already visited"));
600 TRACE_LINEAR_SCAN(3, tty->print_cr("Finished count_edges for block B%d", cur->block_id()));
622 // add the end-block of the loop to the working list
629 assert(is_block_in_loop(loop_idx, cur), "bit in loop map must be set when block is in work list");
631 // recursive processing of all predecessors ends when start block of loop is reached
655 // loop i contains the entry block of the method
679 TRACE_LINEAR_SCAN(4, tty->print_cr("Computing loop depth for block B%d", cur->block_id()));
681 // compute loop-depth and loop-index for the block
790 assert(_linear_scan_order->index_of(cur) == -1, "block already processed (block can be ready only once)");
791 assert(_work_list.index_of(cur) == -1, "block already in work-list (block can be ready only once)");
796 assert(_work_list.index_of(cur) == -1, "block already in work list");
800 // the linear_scan_number is used to cache the weight of a block
831 TRACE_LINEAR_SCAN(3, tty->print_cr("appending block B%d (weight 0x%6x) to linear-scan order", cur->block_id(), cur->linear_scan_number()));
832 assert(_linear_scan_order->index_of(cur) == -1, "cannot add the same block twice");
835 // therefore the linear_scan_number and the weight of a block must also
842 TRACE_LINEAR_SCAN(3, "----- computing final block order");
844 // the start block is always the first block in the linear scan order
848 assert(start_block->end()->as_Base() != NULL, "start block must end with Base-instruction");
856 // the osr entry block is added manually below
868 // start processing with standard entry block
874 assert(false, "the std_entry must be ready for processing (otherwise, the method has no start block)");
881 // the osr entry block is ignored in normal processing, it is never added to the
917 BlockBegin* block = _linear_scan_order->at(i);
919 BlockBegin* dominator = block->pred_at(0);
920 int num_preds = block->number_of_preds();
922 dominator = common_dominator(dominator, block->pred_at(i));
925 if (dominator != block->dominator()) {
926 TRACE_LINEAR_SCAN(4, tty->print_cr("DOM: updating dominator of B%d from B%d to B%d", block->block_id(), block->dominator()->block_id(), dominator->block_id()));
928 block->set_dominator(dominator);
940 // linear scan block order are correct.
968 tty->print_cr("----- linear-scan block order:");
1020 // check that all successors of a block have a higher linear-scan-number
1021 // and that all predecessors of a block have a lower linear-scan-number
1059 assert(cur->dominator() == NULL, "first block has no dominator");
1061 assert(cur->dominator() != NULL, "all but first block must have dominator");
1069 assert(!is_block_in_loop(loop_idx, _linear_scan_order->at(block_idx)), "the first block must not be present in any loop");
1079 // after the first non-loop block, there must not be another loop-block
1099 // make sure all values coming out of this block get evaluated.
1140 virtual void block_do(BlockBegin* block) {
1142 _ip->print_instr(block); tty->cr();
1144 block->print_block(*_ip, _live_only);
1195 BlockBegin* block = _blocks->at(i);
1196 BlockList* preds = _predecessors->at(block->block_id());
1198 assert(block->number_of_preds() == 0, "should be the same");
1205 for (j = 0; j < block->number_of_preds(); j++) {
1206 pred_copy->append(block->pred_at(j));
1211 int length = MIN2(preds->length(), block->number_of_preds());
1212 for (j = 0; j < block->number_of_preds(); j++) {
1216 assert(preds->length() == block->number_of_preds(), "should be the same");
1220 virtual void block_do(BlockBegin* block) {
1221 _blocks->append(block);
1222 BlockEnd* be = block->end();
1234 preds->append(block);
1237 n = block->number_of_exception_handlers();
1239 BlockBegin* sux = block->exception_handler_at(i);
1247 preds->append(block);
1283 void SubstitutionResolver::block_do(BlockBegin* block) {
1285 for (Instruction* n = block; n != NULL;) {
1299 if (block->state()) block->state()->values_do(&check_substitute);
1300 block->block_values_do(&check_substitute);
1301 if (block->end() && block->end()->state()) block->end()->state()->values_do(&check_substitute);