comparison src/share/vm/classfile/metadataOnStackMark.cpp @ 20278:2c6ef90f030a

8049421: G1 Class Unloading after completing a concurrent mark cycle Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
author stefank
date Mon, 07 Jul 2014 10:12:40 +0200
parents 0b9ea9a72436
children b12a2a9b05ca
comparison
equal deleted inserted replaced
20277:882004b9e7e1 20278:2c6ef90f030a
45 assert(SafepointSynchronize::is_at_safepoint(), "sanity check"); 45 assert(SafepointSynchronize::is_at_safepoint(), "sanity check");
46 NOT_PRODUCT(_is_active = true;) 46 NOT_PRODUCT(_is_active = true;)
47 if (_marked_objects == NULL) { 47 if (_marked_objects == NULL) {
48 _marked_objects = new (ResourceObj::C_HEAP, mtClass) GrowableArray<Metadata*>(1000, true); 48 _marked_objects = new (ResourceObj::C_HEAP, mtClass) GrowableArray<Metadata*>(1000, true);
49 } 49 }
50
50 Threads::metadata_do(Metadata::mark_on_stack); 51 Threads::metadata_do(Metadata::mark_on_stack);
51 CodeCache::alive_nmethods_do(nmethod::mark_on_stack); 52 if (JvmtiExport::has_redefined_a_class()) {
53 CodeCache::alive_nmethods_do(nmethod::mark_on_stack);
54 }
52 CompileBroker::mark_on_stack(); 55 CompileBroker::mark_on_stack();
53 JvmtiCurrentBreakpoints::metadata_do(Metadata::mark_on_stack); 56 JvmtiCurrentBreakpoints::metadata_do(Metadata::mark_on_stack);
54 ThreadService::metadata_do(Metadata::mark_on_stack); 57 ThreadService::metadata_do(Metadata::mark_on_stack);
55 } 58 }
56 59