JDK-6710487 : More than half of JDI Regression tests hang with COOPs in -Xcomp mode
Type:Bug
Component:hotspot
Sub-Component:compiler
Affected Version:hs13
Priority:P2
Status:Closed
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2008-06-04
Updated:2012-02-01
Resolved:2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
More than half of JDI Regression tests hang with COOPs in -Xcomp mode
and as result they fail with timeout.
See comments for more details.
Comments
SUGGESTED FIX
Remove DecodeNNode::decode() and EncodePNode::encode() methods.
Both nodes now have Identity() and Value() methods which
do transformations we need.
Replace TypeOopPtr::make_narrowoop() with Type::make_narrowoop() and
TypeNarrowOop::make_oopptr() with Type::make_ptr() to simplify the code.
24-06-2008
EVALUATION
This change to LoadNode::make:
- return new (C, 2) DecodeNNode(load, rt);
+ return DecodeNNode::decode(&gvn, load);
causes the problem. The result of LoadNode::make is passed to _gvn.transform by GraphKit::make_load. decode returns a preexisting Phi that gets simplified too early when passed to transform so that instead of getParent walking up the chain it calls getParent on the same object over and over again.