comparison src/share/vm/memory/referenceProcessor.hpp @ 1190:4788266644c1

6895236: CMS: cmsOopClosures.inline.hpp:43 assert(..., "Should remember klasses in this context") Summary: Adjust assertion checking for ExplicitGCInvokesConcurrentAndUnloadsClasses as a reason for class unloading Reviewed-by: ysr
author jmasa
date Thu, 21 Jan 2010 11:33:32 -0800
parents 27a80744a83b
children 745c853ee57f
comparison
equal deleted inserted replaced
1170:c4d722788ed6 1190:4788266644c1
168 // its (strong) reachability and the second is a closure that 168 // its (strong) reachability and the second is a closure that
169 // may be used to incrementalize or abort the precleaning process. 169 // may be used to incrementalize or abort the precleaning process.
170 // The caller is responsible for taking care of potential 170 // The caller is responsible for taking care of potential
171 // interference with concurrent operations on these lists 171 // interference with concurrent operations on these lists
172 // (or predicates involved) by other threads. Currently 172 // (or predicates involved) by other threads. Currently
173 // only used by the CMS collector. 173 // only used by the CMS collector. should_unload_classes is
174 // used to aid assertion checking when classes are collected.
174 void preclean_discovered_references(BoolObjectClosure* is_alive, 175 void preclean_discovered_references(BoolObjectClosure* is_alive,
175 OopClosure* keep_alive, 176 OopClosure* keep_alive,
176 VoidClosure* complete_gc, 177 VoidClosure* complete_gc,
177 YieldClosure* yield); 178 YieldClosure* yield,
179 bool should_unload_classes);
178 180
179 // Delete entries in the discovered lists that have 181 // Delete entries in the discovered lists that have
180 // either a null referent or are not active. Such 182 // either a null referent or are not active. Such
181 // Reference objects can result from the clearing 183 // Reference objects can result from the clearing
182 // or enqueueing of Reference objects concurrent 184 // or enqueueing of Reference objects concurrent