Lines Matching defs:chunk

1136 static bool is_legal_reg(LRG &lrg, OptoReg::Name reg, int chunk) {
1137 if (reg >= chunk && reg < (chunk + RegMask::CHUNK_SIZE) &&
1138 lrg.mask().Member(OptoReg::add(reg,-chunk))) {
1163 OptoReg::Name PhaseChaitin::bias_color( LRG &lrg, int chunk ) {
1177 if (is_legal_reg(lrg, reg, chunk))
1188 if (is_legal_reg(lrg, reg, chunk))
1190 } else if( chunk == 0 ) {
1204 return OptoReg::add(lrg.mask().find_first_set(lrg.num_regs()),chunk);
1220 return OptoReg::add( reg, chunk );
1224 // Choose a color in the current chunk
1225 OptoReg::Name PhaseChaitin::choose_color( LRG &lrg, int chunk ) {
1226 assert( C->in_preserve_stack_slots() == 0 || chunk != 0 || lrg._is_bound || lrg.mask().is_bound1() || !lrg.mask().Member(OptoReg::Name(_matcher._old_SP-1)), "must not allocate stack0 (inside preserve area)");
1227 assert(C->out_preserve_stack_slots() == 0 || chunk != 0 || lrg._is_bound || lrg.mask().is_bound1() || !lrg.mask().Member(OptoReg::Name(_matcher._old_SP+0)), "must not allocate stack0 (inside preserve area)");
1232 return bias_color(lrg, chunk);
1240 assert( !chunk, "always color in 1st chunk" );
1278 // live range that cannot color in the current chunk, and it
1279 // has to move into the next free stack chunk.
1280 int chunk = 0; // Current chunk is first chunk
1291 // of its color will be a no-op, since the spill_reg chunk is in outer
1292 // space. Also, if neighbor is in a different chunk, this exclusion
1294 // its chunk, a new chunk of color may be tried, in which case
1298 // Only subtract masks in the same chunk
1299 if( nreg >= chunk && nreg < chunk + RegMask::CHUNK_SIZE ) {
1330 OptoReg::Name reg = choose_color( *lrg, chunk );
1338 // a chunk-rollover event
1339 if(!OptoReg::is_valid(OptoReg::add(reg,-chunk)) && is_allstack) {
1340 // Bump register mask up to next stack chunk
1341 chunk += RegMask::CHUNK_SIZE;
1360 reg = OptoReg::add(reg,-chunk);