Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6682236
Votes 0
Synopsis C2 hits ideal nodes limit during IGVN optimization with EA
Category hotspot:compiler2
Reported Against
Release Fixed hs12(b02)
State 10-Fix Delivered, bug
Priority: 4-Low
Related Bugs
Submit Date 31-MAR-2008
Description
C2 can reach ideal nodes limit during IGVN optimization with Escape Analysis
since new nodes are added in LoadNode::Ideal() and PhiNode::Ideal() methods
without removing old nodes.

# 
# An unexpected error has been detected by Java Runtime Environment: 
# 
#  Internal Error (/net/jaberwocky/export/home2/work/6259129/src/share/vm/opto/node.cpp:60), pid=25960, tid=23 
#  Error: assert(Compile::current()->unique() < (uint)MaxNodeLimit,"Node limit exceeded") 
# 
# Java VM: Java HotSpot(TM) Server VM (12.0-b01-internal-jvmg compiled mode solaris-x86) 
# If you would like to submit a bug report, please visit: 
#   http://java.sun.com/webapps/bugreport/crash.jsp 
# The crash happened outside the Java Virtual Machine in native code. 
# See problematic frame for where to report the bug. 
# 
 
---------------  T H R E A D  --------------- 
 
Current thread (0x0827d800):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=23, stack(0xb5a65000,0xb5aa5000)] 
 
Stack: [0xb5a65000,0xb5aa5000],  sp=0xb5aa2130,  free space=244k 
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) 
V  [libjvm.so+0x9bb124] void VMError::report(outputStream*) + 0xa64
V  [libjvm.so+0x9bc16b] void VMError::report_and_die() + 0x62b
V  [libjvm.so+0x4c5899] void report_assertion_failure(const char*,int,const char*) + 0x79
V  [libjvm.so+0x7ec28c] void Node::verify_construction() + 0xfc
V  [libjvm.so+0x7ee36a] Node*Node::clone()const + 0x16a
V  [libjvm.so+0x7aa8dd] Node*LoadNode::Ideal(PhaseGVN*,bool) + 0x56d
V  [libjvm.so+0x8606a9] Node*PhaseIterGVN::transform_old(Node*) + 0x299
V  [libjvm.so+0x85fea1] void PhaseIterGVN::optimize() + 0x171
V  [libjvm.so+0x473d11] void Compile::Optimize() + 0x101
V  [libjvm.so+0x4703da] Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool) + 0xd6a
V  [libjvm.so+0x3ac1bf] void C2Compiler::compile_method(ciEnv*,ciMethod*,int) + 0xaf
Posted Date : 2008-03-31 18:27:03.0
Work Around
N/A
Evaluation
I thought I could relay on LoadNode::Identity() call during
IGVN optimization to avoid infinite generation of value Phi
for an instance field load. But in the failed case it does
not happen since the new Load node (from spit through phi)
is replaced with a new value Phi again during next invocation
of LoadNode::Ideal().
Posted Date : 2008-04-01 23:40:46.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang