Mercurial > hg > graal-compiler
diff src/share/vm/opto/chaitin.cpp @ 14909:4ca6dc0799b6
Backout jdk9 merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Apr 2014 13:57:07 +0200 |
parents | 1077c8270209 |
children | 042b5e9aeb76 |
line wrap: on
line diff
--- a/src/share/vm/opto/chaitin.cpp Tue Apr 01 14:09:03 2014 +0200 +++ b/src/share/vm/opto/chaitin.cpp Tue Apr 01 13:57:07 2014 +0200 @@ -210,7 +210,7 @@ { NOT_PRODUCT( Compile::TracePhase t3("ctorChaitin", &_t_ctorChaitin, TimeCompiler); ) - _high_frequency_lrg = MIN2(double(OPTO_LRG_HIGH_FREQ), _cfg.get_outer_loop_frequency()); + _high_frequency_lrg = MIN2(float(OPTO_LRG_HIGH_FREQ), _cfg.get_outer_loop_frequency()); // Build a list of basic blocks, sorted by frequency _blks = NEW_RESOURCE_ARRAY(Block *, _cfg.number_of_blocks()); @@ -761,7 +761,7 @@ // processes as vector in RA. if (RegMask::is_vector(ireg)) lrg._is_vector = 1; - assert(n_type->isa_vect() == NULL || lrg._is_vector || ireg == Op_RegD || ireg == Op_RegL, + assert(n_type->isa_vect() == NULL || lrg._is_vector || ireg == Op_RegD, "vector must be in vector registers"); // Check for bound register masks @@ -961,7 +961,7 @@ int kreg = n->in(k)->ideal_reg(); bool is_vect = RegMask::is_vector(kreg); assert(n->in(k)->bottom_type()->isa_vect() == NULL || - is_vect || kreg == Op_RegD || kreg == Op_RegL, + is_vect || kreg == Op_RegD, "vector must be in vector registers"); if (lrgmask.is_bound(kreg)) lrg._is_bound = 1; @@ -1682,21 +1682,9 @@ // (where top() node is placed). base->init_req(0, _cfg.get_root_node()); Block *startb = _cfg.get_block_for_node(C->top()); - uint node_pos = startb->find_node(C->top()); - startb->insert_node(base, node_pos); + startb->insert_node(base, startb->find_node(C->top())); _cfg.map_node_to_block(base, startb); assert(_lrg_map.live_range_id(base) == 0, "should not have LRG yet"); - - // The loadConP0 might have projection nodes depending on architecture - // Add the projection nodes to the CFG - for (DUIterator_Fast imax, i = base->fast_outs(imax); i < imax; i++) { - Node* use = base->fast_out(i); - if (use->is_MachProj()) { - startb->insert_node(use, ++node_pos); - _cfg.map_node_to_block(use, startb); - new_lrg(use, maxlrg++); - } - } } if (_lrg_map.live_range_id(base) == 0) { new_lrg(base, maxlrg++); @@ -1799,7 +1787,7 @@ Block *phi_block = _cfg.get_block_for_node(phi); if (_cfg.get_block_for_node(phi_block->pred(2)) == block) { const RegMask *mask = C->matcher()->idealreg2spillmask[Op_RegI]; - Node *spill = new (C) MachSpillCopyNode(MachSpillCopyNode::LoopPhiInput, phi, *mask, *mask); + Node *spill = new (C) MachSpillCopyNode( phi, *mask, *mask ); insert_proj( phi_block, 1, spill, maxlrg++ ); n->set_req(1,spill); must_recompute_live = true;