comparison src/share/vm/oops/instanceKlass.hpp @ 6197:d2a62e0f25eb

6995781: Native Memory Tracking (Phase 1) 7151532: DCmd for hotspot native memory tracking Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd Reviewed-by: acorn, coleenp, fparain
author zgu
date Thu, 28 Jun 2012 17:03:16 -0400
parents 71afdabfd05b
children 04ade88d9712
comparison
equal deleted inserted replaced
6174:74533f63b116 6197:d2a62e0f25eb
1006 } 1006 }
1007 } 1007 }
1008 1008
1009 1009
1010 /* JNIid class for jfieldIDs only */ 1010 /* JNIid class for jfieldIDs only */
1011 class JNIid: public CHeapObj { 1011 class JNIid: public CHeapObj<mtClass> {
1012 friend class VMStructs; 1012 friend class VMStructs;
1013 private: 1013 private:
1014 klassOop _holder; 1014 klassOop _holder;
1015 JNIid* _next; 1015 JNIid* _next;
1016 int _offset; 1016 int _offset;
1057 // the information so that the information may be collected as needed 1057 // the information so that the information may be collected as needed
1058 // by the system. If the information is shared, then a regular 1058 // by the system. If the information is shared, then a regular
1059 // reference must be used because a weak reference would be seen as 1059 // reference must be used because a weak reference would be seen as
1060 // collectible. A GrowableArray of PreviousVersionNodes is attached 1060 // collectible. A GrowableArray of PreviousVersionNodes is attached
1061 // to the instanceKlass as needed. See PreviousVersionWalker below. 1061 // to the instanceKlass as needed. See PreviousVersionWalker below.
1062 class PreviousVersionNode : public CHeapObj { 1062 class PreviousVersionNode : public CHeapObj<mtClass> {
1063 private: 1063 private:
1064 // A shared ConstantPool is never collected so we'll always have 1064 // A shared ConstantPool is never collected so we'll always have
1065 // a reference to it so we can update items in the cache. We'll 1065 // a reference to it so we can update items in the cache. We'll
1066 // have a weak reference to a non-shared ConstantPool until all 1066 // have a weak reference to a non-shared ConstantPool until all
1067 // of the methods (EMCP or obsolete) have been collected; the 1067 // of the methods (EMCP or obsolete) have been collected; the
1152 // recording the method, a count of how many times a particular nmethod 1152 // recording the method, a count of how many times a particular nmethod
1153 // was recorded is kept. This ensures that any recording errors are 1153 // was recorded is kept. This ensures that any recording errors are
1154 // noticed since an nmethod should be removed as many times are it's 1154 // noticed since an nmethod should be removed as many times are it's
1155 // added. 1155 // added.
1156 // 1156 //
1157 class nmethodBucket: public CHeapObj { 1157 class nmethodBucket: public CHeapObj<mtClass> {
1158 friend class VMStructs; 1158 friend class VMStructs;
1159 private: 1159 private:
1160 nmethod* _nmethod; 1160 nmethod* _nmethod;
1161 int _count; 1161 int _count;
1162 nmethodBucket* _next; 1162 nmethodBucket* _next;