JDK-8009600 : C2 should pass -XX:+VerifyOpto -XX:+VerifyIterativeGVN
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2013-03-06
  • Updated: 2013-05-23
  • Resolved: 2013-05-23
Related Reports
Duplicate :  
Relates :  
Description
java -server -XX:+VerifyOpto -Xcomp t

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/phaseX.hpp:321
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/workspace/2-build-solaris-i586@3/jdk8/3536/hotspot/src/share/vm/opto/phaseX.hpp:321), pid=3400, tid=61
#  assert(allow_progress()) failed: No progress allowed during verification
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b79) (build 1.8.0-ea-fastdebug-b79)
# Java VM: Java HotSpot(TM) Server VM (25.0-b20-fastdebug compiled mode solaris-x86 )

One fix is next:

src/share/vm/opto/ifnode.cpp      Wed Mar 06 14:43:40 2013 -0800
@@ -105,7 +105,8 @@
   cmp2->set_req(2,con2);
   const Type *t = cmp2->Value(igvn);
   // This compare is dead, so whack it!
-  igvn->remove_dead_node(cmp2);
+  cmp2->destruct();
   if( !t->singleton() ) return NULL;