// we used to have 'public void invalidate_cache(NodeTable nt)', but that turned out to be FAR // solver // seince the bounde-checking on t_var could not be moved out of loop (or something like that?)... public void invalidate_cache(NodeTable nt, int size) { if (possible_bins_count == 0) { return; } numpartial_clears++; int ok = 0; if (members == 1) { for (int i = 0; i < size; i++) { if (!entries[i].invalid()) { if (!nt.isValid(entries[i].op1) || nt.isValid(entries[i].ret)) { entries[i].clear(); } else { ok++; } } } } else { for (int i = 0; i < size; i++) { if (!entries[i].invalid()) { if (!nt.isValid(entries[i].op1) || !nt.isValid(entries[i].op2) || !nt.isValid(entries[i].ret)) { entries[i].clear(); } else { ok++; } } } } if (ok == 0) { possible_bins_count = 0; } }