src/hotspot/share/opto/macro.cpp
changeset 51826 e777e997e7c1
parent 51806 1ecc914fb707
child 52224 4f2215a00ed1
equal deleted inserted replaced
51825:e3632b4706c4 51826:e777e997e7c1
  1725       Node *prefetch_adr;
  1725       Node *prefetch_adr;
  1726       Node *prefetch;
  1726       Node *prefetch;
  1727       uint step_size = AllocatePrefetchStepSize;
  1727       uint step_size = AllocatePrefetchStepSize;
  1728       uint distance = 0;
  1728       uint distance = 0;
  1729 
  1729 
  1730       for ( uint i = 0; i < lines; i++ ) {
  1730       for ( intx i = 0; i < lines; i++ ) {
  1731         prefetch_adr = new AddPNode( old_pf_wm, new_pf_wmt,
  1731         prefetch_adr = new AddPNode( old_pf_wm, new_pf_wmt,
  1732                                             _igvn.MakeConX(distance) );
  1732                                             _igvn.MakeConX(distance) );
  1733         transform_later(prefetch_adr);
  1733         transform_later(prefetch_adr);
  1734         prefetch = new PrefetchAllocationNode( i_o, prefetch_adr );
  1734         prefetch = new PrefetchAllocationNode( i_o, prefetch_adr );
  1735         transform_later(prefetch);
  1735         transform_later(prefetch);
  1778       prefetch->set_req(0, needgc_false);
  1778       prefetch->set_req(0, needgc_false);
  1779       transform_later(prefetch);
  1779       transform_later(prefetch);
  1780       contended_phi_rawmem = prefetch;
  1780       contended_phi_rawmem = prefetch;
  1781       Node *prefetch_adr;
  1781       Node *prefetch_adr;
  1782       distance = step_size;
  1782       distance = step_size;
  1783       for ( uint i = 1; i < lines; i++ ) {
  1783       for ( intx i = 1; i < lines; i++ ) {
  1784         prefetch_adr = new AddPNode( cache_adr, cache_adr,
  1784         prefetch_adr = new AddPNode( cache_adr, cache_adr,
  1785                                             _igvn.MakeConX(distance) );
  1785                                             _igvn.MakeConX(distance) );
  1786         transform_later(prefetch_adr);
  1786         transform_later(prefetch_adr);
  1787         prefetch = new PrefetchAllocationNode( contended_phi_rawmem, prefetch_adr );
  1787         prefetch = new PrefetchAllocationNode( contended_phi_rawmem, prefetch_adr );
  1788         transform_later(prefetch);
  1788         transform_later(prefetch);
  1794       Node *prefetch_adr;
  1794       Node *prefetch_adr;
  1795       Node *prefetch;
  1795       Node *prefetch;
  1796       // Generate several prefetch instructions.
  1796       // Generate several prefetch instructions.
  1797       uint step_size = AllocatePrefetchStepSize;
  1797       uint step_size = AllocatePrefetchStepSize;
  1798       uint distance = AllocatePrefetchDistance;
  1798       uint distance = AllocatePrefetchDistance;
  1799       for ( uint i = 0; i < lines; i++ ) {
  1799       for ( intx i = 0; i < lines; i++ ) {
  1800         prefetch_adr = new AddPNode( old_eden_top, new_eden_top,
  1800         prefetch_adr = new AddPNode( old_eden_top, new_eden_top,
  1801                                             _igvn.MakeConX(distance) );
  1801                                             _igvn.MakeConX(distance) );
  1802         transform_later(prefetch_adr);
  1802         transform_later(prefetch_adr);
  1803         prefetch = new PrefetchAllocationNode( i_o, prefetch_adr );
  1803         prefetch = new PrefetchAllocationNode( i_o, prefetch_adr );
  1804         // Do not let it float too high, since if eden_top == eden_end,
  1804         // Do not let it float too high, since if eden_top == eden_end,