aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorneliasso <unknown>2019-02-14 14:31:32 +0100
committerbell-sw <liberica@bell-sw.com>2019-10-23 16:22:27 +0300
commitb3d1660b2bd63f104bca1ad7c147355e1e622529 (patch)
tree96572368270cac334ef4686f8d69da189b3141a8
parent5f30df6cd70279fe9e8e1e6acb0f6b341fb9e675 (diff)
downloadjdk8u_hotspot-b3d1660b2bd63f104bca1ad7c147355e1e622529.tar.gz
8087128: C2: Disallow definition split on MachCopySpill nodes
Reviewed-by: kvn
-rw-r--r--src/share/vm/opto/reg_split.cpp3
1 files changed, 1 insertions, 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