675 lrg.SUBTRACT( rmask ); |
675 lrg.SUBTRACT( rmask ); |
676 lrg.compute_set_mask_size(); |
676 lrg.compute_set_mask_size(); |
677 } else { // Common case: size 1 bound removal |
677 } else { // Common case: size 1 bound removal |
678 if( lrg.mask().Member(r_reg) ) { |
678 if( lrg.mask().Member(r_reg) ) { |
679 lrg.Remove(r_reg); |
679 lrg.Remove(r_reg); |
680 lrg.set_mask_size(lrg.mask().is_AllStack() ? 65535:old_size-1); |
680 lrg.set_mask_size(lrg.mask().is_AllStack() ? LRG::AllStack_size : old_size - 1); |
681 } |
681 } |
682 } |
682 } |
683 // If 'l' goes completely dry, it must spill. |
683 // If 'l' goes completely dry, it must spill. |
684 if( lrg.not_free() ) { |
684 if( lrg.not_free() ) { |
685 // Give 'l' some kind of reasonable mask, so he picks up |
685 // Give 'l' some kind of reasonable mask, so he picks up |