changeset 7116:31e28ee4c9b4

8038921: assert(t != NULL) failed: must set before get Summary: Ignore nodes without a type when checking for speculative types in Compile::remove_speculative_types(...). Reviewed-by: kvn, roland Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
author anoll
date Wed, 23 Apr 2014 10:35:15 +0200
parents 87b5e00100fe
children 42274879e644
files src/share/vm/opto/compile.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/opto/compile.cpp	Wed Apr 16 14:49:03 2014 -0700
+++ b/src/share/vm/opto/compile.cpp	Wed Apr 23 10:35:15 2014 +0200
@@ -3961,8 +3961,8 @@
     worklist.push(root());
     for (uint next = 0; next < worklist.size(); ++next) {
       Node *n  = worklist.at(next);
-      const Type* t = igvn.type(n);
-      assert(t == t->remove_speculative(), "no more speculative types");
+      const Type* t = igvn.type_or_null(n);
+      assert((t == NULL) || (t == t->remove_speculative()), "no more speculative types");
       if (n->is_Type()) {
         t = n->as_Type()->type();
         assert(t == t->remove_speculative(), "no more speculative types");