diff src/share/vm/opto/chaitin.cpp @ 10999:693e4d04fd09

8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit Summary: Insert extra checks and bailouts for too many nodes Reviewed-by: kvn
author drchase
date Tue, 11 Jun 2013 16:34:34 -0400
parents 8373c19be854
children d1034bd8cefc
line wrap: on
line diff
--- a/src/share/vm/opto/chaitin.cpp	Fri Jun 07 16:46:37 2013 -0700
+++ b/src/share/vm/opto/chaitin.cpp	Tue Jun 11 16:34:34 2013 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -435,6 +435,9 @@
     // Insert un-coalesced copies.  Visit all Phis.  Where inputs to a Phi do
     // not match the Phi itself, insert a copy.
     coalesce.insert_copies(_matcher);
+    if (C->failing()) {
+      return;
+    }
   }
 
   // After aggressive coalesce, attempt a first cut at coloring.