JDK-6689060 : Escape Analysis does not work with Compressed Oops
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs13
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2008-04-15
  • Updated: 2011-03-08
  • 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.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u14Fixed 7Fixed hs13Fixed
Related Reports
Relates :  
One of the issue. I will add others as I find.

% gamma -XX:+UseCompressedOops -XX:+DoEscapeAnalysis  Test_SR
VM option '+UseCompressedOops'
VM option '+DoEscapeAnalysis'
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/escape.cpp:117
# A fatal error has been detected by the Java Runtime Environment:
#  Internal Error (/net/jaberwocky.sfbay/export/home2/work2/hg/narwoop/src/share/vm/opto/escape.cpp:117), pid=8504, tid=20
#  Error: assert(f->node_type() != PointsToNode::UnknownType && t->node_type() != PointsToNode::UnknownType,"node types must be set")
# Java VM: OpenJDK 64-Bit Server VM (12.0-b02-internal-jvmg mixed mode solaris-amd64 compressed oops)

EVALUATION Added missing lines in escape.cpp. Scalar Replacement: Cast oop fields type to narrow before searching values since values has narrow type. Used DecodeN to get wide oops for debug info (I will optimize it later) and undo cast to narrow. Added Value() method to EncodeP and DecodeN to avoid the generation of encode/decode instructions for NULL. Added not_null EncodeP DecodeN instructions into .ad files. Fixed verify_oop stabs included debug messages to know where a problem happened. VerifyOops still failing with CO (even without EA and this changes).