< prev index next >

src/hotspot/share/classfile/classLoaderData.hpp

Print this page

197 
198 private:
199   // The CLD are not placed in the Heap, so the Card Table or
200   // the Mod Union Table can't be used to mark when CLD have modified oops.
201   // The CT and MUT bits saves this information for the whole class loader data.
202   void clear_modified_oops()             { _modified_oops = false; }
203  public:
204   void record_modified_oops()            { _modified_oops = true; }
205   bool has_modified_oops()               { return _modified_oops; }
206 
207   oop holder_no_keepalive() const;
208   oop holder() const;
209 
210   void classes_do(void f(Klass* const));
211 
212  private:
213   bool keep_alive() const       { return _keep_alive > 0; }
214 
215   void loaded_classes_do(KlassClosure* klass_closure);
216   void classes_do(void f(InstanceKlass*));

217   void methods_do(void f(Method*));
218   void modules_do(void f(ModuleEntry*));
219   void packages_do(void f(PackageEntry*));
220 
221   // Deallocate free list during class unloading.
222   void free_deallocate_list();                      // for the classes that are not unloaded
223   void free_deallocate_list_C_heap_structures();    // for the classes that are unloaded
224 
225   Dictionary* create_dictionary();
226 
227   void demote_strong_roots();
228 
229   void initialize_name(Handle class_loader);
230 
231  public:
232   // GC interface.
233 
234   // The "claim" is typically used to check if oops_do needs to be applied on
235   // the CLD or not. Most GCs only perform strong marking during the marking phase.
236   enum Claim {

197 
198 private:
199   // The CLD are not placed in the Heap, so the Card Table or
200   // the Mod Union Table can't be used to mark when CLD have modified oops.
201   // The CT and MUT bits saves this information for the whole class loader data.
202   void clear_modified_oops()             { _modified_oops = false; }
203  public:
204   void record_modified_oops()            { _modified_oops = true; }
205   bool has_modified_oops()               { return _modified_oops; }
206 
207   oop holder_no_keepalive() const;
208   oop holder() const;
209 
210   void classes_do(void f(Klass* const));
211 
212  private:
213   bool keep_alive() const       { return _keep_alive > 0; }
214 
215   void loaded_classes_do(KlassClosure* klass_closure);
216   void classes_do(void f(InstanceKlass*));
217   void inline_classes_do(void f(InlineKlass*));
218   void methods_do(void f(Method*));
219   void modules_do(void f(ModuleEntry*));
220   void packages_do(void f(PackageEntry*));
221 
222   // Deallocate free list during class unloading.
223   void free_deallocate_list();                      // for the classes that are not unloaded
224   void free_deallocate_list_C_heap_structures();    // for the classes that are unloaded
225 
226   Dictionary* create_dictionary();
227 
228   void demote_strong_roots();
229 
230   void initialize_name(Handle class_loader);
231 
232  public:
233   // GC interface.
234 
235   // The "claim" is typically used to check if oops_do needs to be applied on
236   // the CLD or not. Most GCs only perform strong marking during the marking phase.
237   enum Claim {
< prev index next >