comparison src/share/vm/opto/graphKit.cpp @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents 7f813940ac35
children e626685e9f6c
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
3444 // must be either an oop or NULL 3444 // must be either an oop or NULL
3445 const Type* t = val->bottom_type(); 3445 const Type* t = val->bottom_type();
3446 if (t == TypePtr::NULL_PTR || t == Type::TOP) 3446 if (t == TypePtr::NULL_PTR || t == Type::TOP)
3447 // stores of null never (?) need barriers 3447 // stores of null never (?) need barriers
3448 return; 3448 return;
3449 ciObject* con = t->is_oopptr()->const_oop();
3450 if (con != NULL
3451 && con->is_perm()
3452 && Universe::heap()->can_elide_permanent_oop_store_barriers())
3453 // no store barrier needed, because no old-to-new ref created
3454 return;
3455 } 3449 }
3456 3450
3457 if (use_ReduceInitialCardMarks() 3451 if (use_ReduceInitialCardMarks()
3458 && obj == just_allocated_object(control())) { 3452 && obj == just_allocated_object(control())) {
3459 // We can skip marks on a freshly-allocated object in Eden. 3453 // We can skip marks on a freshly-allocated object in Eden.