comparison src/share/vm/classfile/systemDictionary.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 8b0a4867acf0
children 1d7922586cf6
comparison
equal deleted inserted replaced
6174:74533f63b116 6197:d2a62e0f25eb
30 #include "oops/objArrayOop.hpp" 30 #include "oops/objArrayOop.hpp"
31 #include "oops/symbol.hpp" 31 #include "oops/symbol.hpp"
32 #include "runtime/java.hpp" 32 #include "runtime/java.hpp"
33 #include "runtime/reflectionUtils.hpp" 33 #include "runtime/reflectionUtils.hpp"
34 #include "utilities/hashtable.hpp" 34 #include "utilities/hashtable.hpp"
35 #include "utilities/hashtable.inline.hpp"
35 36
36 // The system dictionary stores all loaded classes and maps: 37 // The system dictionary stores all loaded classes and maps:
37 // 38 //
38 // [class name,class loader] -> class i.e. [Symbol*,oop] -> klassOop 39 // [class name,class loader] -> class i.e. [Symbol*,oop] -> klassOop
39 // 40 //
70 // 71 //
71 72
72 class Dictionary; 73 class Dictionary;
73 class PlaceholderTable; 74 class PlaceholderTable;
74 class LoaderConstraintTable; 75 class LoaderConstraintTable;
75 class HashtableBucket; 76 template <MEMFLAGS F> class HashtableBucket;
76 class ResolutionErrorTable; 77 class ResolutionErrorTable;
77 class SymbolPropertyTable; 78 class SymbolPropertyTable;
78 79
79 // Certain classes are preloaded, such as java.lang.Object and java.lang.String. 80 // Certain classes are preloaded, such as java.lang.Object and java.lang.String.
80 // They are all "well-known", in the sense that no class loader is allowed 81 // They are all "well-known", in the sense that no class loader is allowed
361 // Sharing support. 362 // Sharing support.
362 static void reorder_dictionary(); 363 static void reorder_dictionary();
363 static void copy_buckets(char** top, char* end); 364 static void copy_buckets(char** top, char* end);
364 static void copy_table(char** top, char* end); 365 static void copy_table(char** top, char* end);
365 static void reverse(); 366 static void reverse();
366 static void set_shared_dictionary(HashtableBucket* t, int length, 367 static void set_shared_dictionary(HashtableBucket<mtClass>* t, int length,
367 int number_of_entries); 368 int number_of_entries);
368 // Printing 369 // Printing
369 static void print() PRODUCT_RETURN; 370 static void print() PRODUCT_RETURN;
370 static void print_class_statistics() PRODUCT_RETURN; 371 static void print_class_statistics() PRODUCT_RETURN;
371 static void print_method_statistics() PRODUCT_RETURN; 372 static void print_method_statistics() PRODUCT_RETURN;