src/share/vm/oops/cpCacheKlass.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7017732 Cdiff src/share/vm/oops/cpCacheKlass.cpp

src/share/vm/oops/cpCacheKlass.cpp

Print this page

        

*** 166,193 **** #ifndef SERIALGC void constantPoolCacheKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { assert(obj->is_constantPoolCache(), "should be constant pool"); ! if (EnableInvokeDynamic) { constantPoolCacheOop cache = (constantPoolCacheOop)obj; // during a scavenge, it is safe to inspect my pool, since it is perm constantPoolOop pool = cache->constant_pool(); assert(pool->is_constantPool(), "should be constant pool"); - if (pool->has_invokedynamic()) { for (int i = 0; i < cache->length(); i++) { ConstantPoolCacheEntry* e = cache->entry_at(i); oop* p = (oop*)&e->_f1; - if (e->is_secondary_entry()) { if (PSScavenge::should_scavenge(p)) pm->claim_or_forward_depth(p); assert(!(e->is_vfinal() && PSScavenge::should_scavenge((oop*)&e->_f2)), "no live oops here"); } } - } - } } int constantPoolCacheKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { assert(obj->is_constantPoolCache(), "obj must be constant pool cache"); --- 166,189 ---- #ifndef SERIALGC void constantPoolCacheKlass::oop_push_contents(PSPromotionManager* pm, oop obj) { assert(obj->is_constantPoolCache(), "should be constant pool"); ! if (ScavengeRootsInCode) { constantPoolCacheOop cache = (constantPoolCacheOop)obj; // during a scavenge, it is safe to inspect my pool, since it is perm constantPoolOop pool = cache->constant_pool(); assert(pool->is_constantPool(), "should be constant pool"); for (int i = 0; i < cache->length(); i++) { ConstantPoolCacheEntry* e = cache->entry_at(i); oop* p = (oop*)&e->_f1; if (PSScavenge::should_scavenge(p)) pm->claim_or_forward_depth(p); assert(!(e->is_vfinal() && PSScavenge::should_scavenge((oop*)&e->_f2)), "no live oops here"); } } } int constantPoolCacheKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) { assert(obj->is_constantPoolCache(), "obj must be constant pool cache");
src/share/vm/oops/cpCacheKlass.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File