Lines Matching defs:jcc
84 /* double size of jcc table */
142 jCC* jcc;
145 /* check fill degree of jcc hash table and resize if needed (>80%) */
150 jcc = (jCC*) CLG_MALLOC("cl.jumps.nj.1", sizeof(jCC));
152 jcc->from = from;
153 jcc->jmp = jmp;
154 jcc->to = to;
155 jcc->jmpkind = jk_Call;
156 jcc->call_counter = 0;
157 jcc->cost = 0;
165 jcc->next_from = from->jmp[jmp].jcc_list;
166 from->jmp[jmp].jcc_list = jcc;
169 jcc->next_from = current_jccs.spontaneous;
170 current_jccs.spontaneous = jcc;
175 jcc->next_hash = current_jccs.table[new_idx];
176 current_jccs.table[new_idx] = jcc;
182 CLG_(stat).distinct_jccs, jcc);
185 return jcc;
192 jCC* jcc;
199 jcc = to->lru_to_jcc;
200 if (jcc && (jcc->from == from) && (jcc->jmp == jmp)) {
201 CLG_ASSERT(to == jcc->to);
202 CLG_DEBUG(5,"- get_jcc: [LRU to] jcc %p\n", jcc);
203 return jcc;
206 jcc = from->lru_from_jcc;
207 if (jcc && (jcc->to == to) && (jcc->jmp == jmp)) {
208 CLG_ASSERT(from == jcc->from);
209 CLG_DEBUG(5, "- get_jcc: [LRU from] jcc %p\n", jcc);
210 return jcc;
216 jcc = current_jccs.table[idx];
218 while(jcc) {
219 if ((jcc->from == from) &&
220 (jcc->jmp == jmp) &&
221 (jcc->to == to)) break;
222 jcc = jcc->next_hash;
225 if (!jcc)
226 jcc = new_jcc(from, jmp, to);
229 from->lru_from_jcc = jcc;
230 to->lru_to_jcc = jcc;
235 return jcc;