review for 7088955: add C2 IR support to the SA

Vladimir Kozlov vladimir.kozlov at
Fri Sep 9 16:16:23 PDT 2011

Push it :)

What criteria you used to map only some C2 node classes?

I don't see next fields in (may be not needed)

   jushort _class_id;
   jushort _flags;

and no C2 types.


Tom Rodriguez wrote:
> 21066 lines changed: 7246 ins; 13673 del; 147 mod; 29134 unchg
> 7088955: add C2 IR support to the SA
> Reviewed-by:
> 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.

More information about the hotspot-compiler-dev mailing list