Mercurial > hg > truffle
comparison src/share/vm/opto/chaitin.cpp @ 17795:a9becfeecd1b
Merge
author | kvn |
---|---|
date | Wed, 22 Jan 2014 17:42:23 -0800 |
parents | df8573b1a44c 15120a36272d |
children | 04e7587c97dc 78bbf4d43a14 |
comparison
equal
deleted
inserted
replaced
17794:3514ee402842 | 17795:a9becfeecd1b |
---|---|
1680 // Initialize it once and make it shared: | 1680 // Initialize it once and make it shared: |
1681 // set control to _root and place it into Start block | 1681 // set control to _root and place it into Start block |
1682 // (where top() node is placed). | 1682 // (where top() node is placed). |
1683 base->init_req(0, _cfg.get_root_node()); | 1683 base->init_req(0, _cfg.get_root_node()); |
1684 Block *startb = _cfg.get_block_for_node(C->top()); | 1684 Block *startb = _cfg.get_block_for_node(C->top()); |
1685 startb->insert_node(base, startb->find_node(C->top())); | 1685 uint node_pos = startb->find_node(C->top()); |
1686 startb->insert_node(base, node_pos); | |
1686 _cfg.map_node_to_block(base, startb); | 1687 _cfg.map_node_to_block(base, startb); |
1687 assert(_lrg_map.live_range_id(base) == 0, "should not have LRG yet"); | 1688 assert(_lrg_map.live_range_id(base) == 0, "should not have LRG yet"); |
1689 | |
1690 // The loadConP0 might have projection nodes depending on architecture | |
1691 // Add the projection nodes to the CFG | |
1692 for (DUIterator_Fast imax, i = base->fast_outs(imax); i < imax; i++) { | |
1693 Node* use = base->fast_out(i); | |
1694 if (use->is_MachProj()) { | |
1695 startb->insert_node(use, ++node_pos); | |
1696 _cfg.map_node_to_block(use, startb); | |
1697 new_lrg(use, maxlrg++); | |
1698 } | |
1699 } | |
1688 } | 1700 } |
1689 if (_lrg_map.live_range_id(base) == 0) { | 1701 if (_lrg_map.live_range_id(base) == 0) { |
1690 new_lrg(base, maxlrg++); | 1702 new_lrg(base, maxlrg++); |
1691 } | 1703 } |
1692 assert(base->in(0) == _cfg.get_root_node() && _cfg.get_block_for_node(base) == _cfg.get_block_for_node(C->top()), "base NULL should be shared"); | 1704 assert(base->in(0) == _cfg.get_root_node() && _cfg.get_block_for_node(base) == _cfg.get_block_for_node(C->top()), "base NULL should be shared"); |