comparison src/share/vm/opto/reg_split.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 a1c7f6472621
children e626685e9f6c
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1194 deflrg.reg() < LRG::SPILL_REG ) { // And DEF is from stack 1194 deflrg.reg() < LRG::SPILL_REG ) { // And DEF is from stack
1195 LRG &uselrg = lrgs(useidx); 1195 LRG &uselrg = lrgs(useidx);
1196 if( OptoReg::is_stack(uselrg.reg()) && 1196 if( OptoReg::is_stack(uselrg.reg()) &&
1197 uselrg.reg() < LRG::SPILL_REG && // USE is from stack 1197 uselrg.reg() < LRG::SPILL_REG && // USE is from stack
1198 deflrg.reg() != uselrg.reg() ) { // Not trivially removed 1198 deflrg.reg() != uselrg.reg() ) { // Not trivially removed
1199 uint def_ideal_reg = Matcher::base2reg[n->bottom_type()->base()]; 1199 uint def_ideal_reg = n->bottom_type()->ideal_reg();
1200 const RegMask &def_rm = *Matcher::idealreg2regmask[def_ideal_reg]; 1200 const RegMask &def_rm = *Matcher::idealreg2regmask[def_ideal_reg];
1201 const RegMask &use_rm = n->in_RegMask(copyidx); 1201 const RegMask &use_rm = n->in_RegMask(copyidx);
1202 if( def_rm.overlap(use_rm) && n->is_SpillCopy() ) { // Bug 4707800, 'n' may be a storeSSL 1202 if( def_rm.overlap(use_rm) && n->is_SpillCopy() ) { // Bug 4707800, 'n' may be a storeSSL
1203 if (C->check_node_count(NodeLimitFudgeFactor, out_of_nodes)) { // Check when generating nodes 1203 if (C->check_node_count(NodeLimitFudgeFactor, out_of_nodes)) { // Check when generating nodes
1204 return 0; 1204 return 0;