8087128: C2: Disallow definition split on MachCopySpill nodes

Thu, 14 Feb 2019 14:31:32 +0100

author
neliasso
date
Thu, 14 Feb 2019 14:31:32 +0100
changeset 9741
7e0a4478e80f
parent 9740
b290489738b8
child 9742
9f614da5f371

8087128: C2: Disallow definition split on MachCopySpill nodes
Reviewed-by: kvn

src/share/vm/opto/reg_split.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/opto/reg_split.cpp	Fri Jun 15 08:28:08 2018 -0700
     1.2 +++ b/src/share/vm/opto/reg_split.cpp	Thu Feb 14 14:31:32 2019 +0100
     1.3 @@ -1171,9 +1171,8 @@
     1.4                (deflrg._direct_conflict || deflrg._must_spill)) ||
     1.5               // Check for LRG being up in a register and we are inside a high
     1.6               // pressure area.  Spill it down immediately.
     1.7 -             (defup && is_high_pressure(b,&deflrg,insidx))) ) {
     1.8 +             (defup && is_high_pressure(b,&deflrg,insidx) && !n->is_SpillCopy())) ) {
     1.9            assert( !n->rematerialize(), "" );
    1.10 -          assert( !n->is_SpillCopy(), "" );
    1.11            // Do a split at the def site.
    1.12            maxlrg = split_DEF( n, b, insidx, maxlrg, Reachblock, debug_defs, splits, slidx );
    1.13            // If it wasn't split bail

mercurial