Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/classLoader.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 | 1d1603768966 |
children | 957c266d8bc5 b9a9ed0f8eeb |
comparison
equal
deleted
inserted
replaced
6174:74533f63b116 | 6197:d2a62e0f25eb |
---|---|
31 // The VM class loader. | 31 // The VM class loader. |
32 #include <sys/stat.h> | 32 #include <sys/stat.h> |
33 | 33 |
34 | 34 |
35 // Meta-index (optional, to be able to skip opening boot classpath jar files) | 35 // Meta-index (optional, to be able to skip opening boot classpath jar files) |
36 class MetaIndex: public CHeapObj { | 36 class MetaIndex: public CHeapObj<mtClass> { |
37 private: | 37 private: |
38 char** _meta_package_names; | 38 char** _meta_package_names; |
39 int _num_meta_package_names; | 39 int _num_meta_package_names; |
40 public: | 40 public: |
41 MetaIndex(char** meta_package_names, int num_meta_package_names); | 41 MetaIndex(char** meta_package_names, int num_meta_package_names); |
44 }; | 44 }; |
45 | 45 |
46 | 46 |
47 // Class path entry (directory or zip file) | 47 // Class path entry (directory or zip file) |
48 | 48 |
49 class ClassPathEntry: public CHeapObj { | 49 class ClassPathEntry: public CHeapObj<mtClass> { |
50 private: | 50 private: |
51 ClassPathEntry* _next; | 51 ClassPathEntry* _next; |
52 public: | 52 public: |
53 // Next entry in class path | 53 // Next entry in class path |
54 ClassPathEntry* next() { return _next; } | 54 ClassPathEntry* next() { return _next; } |
139 NOT_PRODUCT(bool is_rt_jar();) | 139 NOT_PRODUCT(bool is_rt_jar();) |
140 }; | 140 }; |
141 | 141 |
142 class PackageHashtable; | 142 class PackageHashtable; |
143 class PackageInfo; | 143 class PackageInfo; |
144 class HashtableBucket; | 144 template <MEMFLAGS F> class HashtableBucket; |
145 | 145 |
146 class ClassLoader: AllStatic { | 146 class ClassLoader: AllStatic { |
147 public: | 147 public: |
148 enum SomeConstants { | 148 enum SomeConstants { |
149 package_hash_table_size = 31 // Number of buckets | 149 package_hash_table_size = 31 // Number of buckets |
297 static objArrayOop get_system_packages(TRAPS); | 297 static objArrayOop get_system_packages(TRAPS); |
298 | 298 |
299 // Initialization | 299 // Initialization |
300 static void initialize(); | 300 static void initialize(); |
301 static void create_package_info_table(); | 301 static void create_package_info_table(); |
302 static void create_package_info_table(HashtableBucket *t, int length, | 302 static void create_package_info_table(HashtableBucket<mtClass> *t, int length, |
303 int number_of_entries); | 303 int number_of_entries); |
304 static int compute_Object_vtable(); | 304 static int compute_Object_vtable(); |
305 | 305 |
306 static ClassPathEntry* classpath_entry(int n) { | 306 static ClassPathEntry* classpath_entry(int n) { |
307 ClassPathEntry* e = ClassLoader::_first_entry; | 307 ClassPathEntry* e = ClassLoader::_first_entry; |