JDK-7088955 : add C2 IR support to the SA
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs22
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2011-09-09
  • Updated: 2012-12-12
  • Resolved: 2011-09-30
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 7 JDK 8 Other
7u2Fixed 8Fixed hs22Fixed
Related Reports
Relates :  
Relates :  
We should include the C2 related SA improvements developed as part of the replay work.


EVALUATION 7088955: add C2 IR support to the SA Reviewed-by: kvn These are bunch of SA improvements I collected as part of the replay support. It includes support for C2 types and dumping of the graph, the PhaseCFG, the InlineTree and MDOs. There are a bunch of new classes to support this but for the most part they are simple mirrors for their corresponding C++ classes and could be generated directly from the vmStructs declarations. About half of the new lines are copyright notices and Java boilerplate. The C++ changes consist only of friend declarations and moving nmethodBucket to the header so it can be described by vmStructs. This also includes support in the SA for augmenting the type database of a JVM during reading of a core file and dumping the type database with a new vmstructdump command. -Dsun.jvm.hotspot.typedb=<file> will read <file> after parsing the vmStructs from the child and add any new definitions to the type database. The saenv scripts recognize the environment variable SA_TYPEDB and pass the value in the property to the invoked VM. I also augmented the type database logic so that it can create const and pointer variants of types on the fly so they no longer need to be declared in vmStructs.cpp. Additionally I added support for GrowableArray templating to support reading various data structures. I also deleted the win32 and dbx debugger backends since those were supplanted by the windbg and proc backends. The webrev itself is quite large but most of the newly added classes were generated from the vmStructs.cpp declarations or by simple transliteration of C++ code. The meaningful bits are all at the beginning of the webrev. The replay stuff will be laid on top of these changes. Tested with sajdi tests.

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f6f3bb0ee072