599 print_prop("line", last->line_number_from_bci(last_bci));
600 }
601 }
602
603 #ifdef ASSERT
604 if (node->debug_orig() != NULL) {
605 temp_set->Clear();
606 stringStream dorigStream;
607 Node* dorig = node->debug_orig();
608 while (dorig && temp_set->test_set(dorig->_idx)) {
609 dorigStream.print("%d ", dorig->_idx);
610 }
611 print_prop("debug_orig", dorigStream.as_string());
612 }
613 #endif
614
615 if (_chaitin && _chaitin != (PhaseChaitin *)0xdeadbeef) {
616 buffer[0] = 0;
617 _chaitin->dump_register(node, buffer);
618 print_prop("reg", buffer);
619 print_prop("lrg", _chaitin->_lrg_map.live_range_id(node));
620 }
621
622 node->_in_dump_cnt--;
623 #endif
624
625 tail(PROPERTIES_ELEMENT);
626 tail(NODE_ELEMENT);
627 }
628 }
629
630 void IdealGraphPrinter::walk_nodes(Node *start, bool edges, VectorSet* temp_set) {
631
632
633 VectorSet visited(Thread::current()->resource_area());
634 GrowableArray<Node *> nodeStack(Thread::current()->resource_area(), 0, 0, NULL);
635 nodeStack.push(start);
636 visited.test_set(start->_idx);
637 if (C->cfg() != NULL) {
638 // once we have a CFG there are some nodes that aren't really
639 // reachable but are in the CFG so add them here.
|
599 print_prop("line", last->line_number_from_bci(last_bci));
600 }
601 }
602
603 #ifdef ASSERT
604 if (node->debug_orig() != NULL) {
605 temp_set->Clear();
606 stringStream dorigStream;
607 Node* dorig = node->debug_orig();
608 while (dorig && temp_set->test_set(dorig->_idx)) {
609 dorigStream.print("%d ", dorig->_idx);
610 }
611 print_prop("debug_orig", dorigStream.as_string());
612 }
613 #endif
614
615 if (_chaitin && _chaitin != (PhaseChaitin *)0xdeadbeef) {
616 buffer[0] = 0;
617 _chaitin->dump_register(node, buffer);
618 print_prop("reg", buffer);
619 uint lrg_id = 0;
620 if (node->_idx < _chaitin->_lrg_map.size()) {
621 lrg_id = _chaitin->_lrg_map.live_range_id(node);
622 }
623 print_prop("lrg", lrg_id);
624 }
625
626 node->_in_dump_cnt--;
627 #endif
628
629 tail(PROPERTIES_ELEMENT);
630 tail(NODE_ELEMENT);
631 }
632 }
633
634 void IdealGraphPrinter::walk_nodes(Node *start, bool edges, VectorSet* temp_set) {
635
636
637 VectorSet visited(Thread::current()->resource_area());
638 GrowableArray<Node *> nodeStack(Thread::current()->resource_area(), 0, 0, NULL);
639 nodeStack.push(start);
640 visited.test_set(start->_idx);
641 if (C->cfg() != NULL) {
642 // once we have a CFG there are some nodes that aren't really
643 // reachable but are in the CFG so add them here.
|