12 December 2013


// oopDesc is the top baseclass for objects classes.  The {name}Desc classes describe
// the format of Java objects so the fields can be accessed from C++.
// oopDesc is abstract.
// (see oopHierarchy for complete oop class hierarchy)
// no virtual functions allowed

typedef class oopDesc*                      oop;
typedef class   instanceOopDesc*              instanceOop;
typedef class   methodOopDesc*                methodOop;
typedef class   constMethodOopDesc*           constMethodOop;
typedef class   methodDataOopDesc*            methodDataOop;
typedef class   arrayOopDesc*                 arrayOop;
typedef class     objArrayOopDesc*              objArrayOop;
typedef class     typeArrayOopDesc*             typeArrayOop;
typedef class   constantPoolOopDesc*          constantPoolOop;
typedef class   constantPoolCacheOopDesc*     constantPoolCacheOop;
typedef class   klassOopDesc*                 klassOop;
typedef class   markOopDesc*                  markOop;
typedef class   compiledICHolderOopDesc*      compiledICHolderOop;

class Klass;
class   instanceKlass;
class     instanceMirrorKlass;
class     instanceRefKlass;
class   methodKlass;
class   constMethodKlass;
class   methodDataKlass;
class   klassKlass;
class     instanceKlassKlass;
class     arrayKlassKlass;
class       objArrayKlassKlass;
class       typeArrayKlassKlass;
class   arrayKlass;
class     objArrayKlass;
class     typeArrayKlass;
class   constantPoolKlass;
class   constantPoolCacheKlass;
class   compiledICHolderKlass;