From 892224268d14e39e04dd7209f38b674b6978f05a Mon Sep 17 00:00:00 2001 From: neliasso Date: Thu, 14 Feb 2019 14:31:32 +0100 Subject: [PATCH] 8087128: C2: Disallow definition split on MachCopySpill nodes Reviewed-by: kvn --- src/share/vm/opto/reg_split.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/share/vm/opto/reg_split.cpp b/src/share/vm/opto/reg_split.cpp index af798914a..a132f1f9f 100644 --- a/src/share/vm/opto/reg_split.cpp +++ b/src/share/vm/opto/reg_split.cpp @@ -1171,9 +1171,8 @@ uint PhaseChaitin::Split(uint maxlrg, ResourceArea* split_arena) { (deflrg._direct_conflict || deflrg._must_spill)) || // Check for LRG being up in a register and we are inside a high // pressure area. Spill it down immediately. - (defup && is_high_pressure(b,&deflrg,insidx))) ) { + (defup && is_high_pressure(b,&deflrg,insidx) && !n->is_SpillCopy())) ) { assert( !n->rematerialize(), "" ); - assert( !n->is_SpillCopy(), "" ); // Do a split at the def site. maxlrg = split_DEF( n, b, insidx, maxlrg, Reachblock, debug_defs, splits, slidx ); // If it wasn't split bail -- GitLab