Mercurial > hg > truffle
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. |