42 // |
42 // |
43 // KlassInfoHisto is a growable array of pointers |
43 // KlassInfoHisto is a growable array of pointers |
44 // to KlassInfoEntry's and is used to sort |
44 // to KlassInfoEntry's and is used to sort |
45 // the entries. |
45 // the entries. |
46 |
46 |
47 class KlassInfoEntry: public CHeapObj { |
47 class KlassInfoEntry: public CHeapObj<mtInternal> { |
48 private: |
48 private: |
49 KlassInfoEntry* _next; |
49 KlassInfoEntry* _next; |
50 klassOop _klass; |
50 klassOop _klass; |
51 long _instance_count; |
51 long _instance_count; |
52 size_t _instance_words; |
52 size_t _instance_words; |
70 public: |
70 public: |
71 // Called for each KlassInfoEntry. |
71 // Called for each KlassInfoEntry. |
72 virtual void do_cinfo(KlassInfoEntry* cie) = 0; |
72 virtual void do_cinfo(KlassInfoEntry* cie) = 0; |
73 }; |
73 }; |
74 |
74 |
75 class KlassInfoBucket: public CHeapObj { |
75 class KlassInfoBucket: public CHeapObj<mtInternal> { |
76 private: |
76 private: |
77 KlassInfoEntry* _list; |
77 KlassInfoEntry* _list; |
78 KlassInfoEntry* list() { return _list; } |
78 KlassInfoEntry* list() { return _list; } |
79 void set_list(KlassInfoEntry* l) { _list = l; } |
79 void set_list(KlassInfoEntry* l) { _list = l; } |
80 public: |
80 public: |