Home | History | Annotate | Download | only in opjitconv

Lines Matching full:split

229  * the overlapping entry we split or truncate it to not overlap any more.
233 * split: |------------|
236 * The split entry may be splitted in a left part and a right part. E.g.:
243 static void split_entry(struct jitentry * split, struct jitentry const * keep)
247 unsigned long long end_addr_split = split->vma + split->code_size;
248 unsigned long long start_addr_split = split->vma;
257 if (strlen(split->symbol_name) > SIZE_MAX - 3) {
261 s = xmalloc(strlen(split->symbol_name) + 3);
262 strcpy(s, split->symbol_name);
270 new_entry->life_start = split->life_start;
271 new_entry->life_end = split->life_end;
273 // don't know whether the split part begins at an opcode
275 verbprintf(debug, "split right (new) name=%s, start=%llx,"
286 if (strlen(split->symbol_name) > SIZE_MAX - 3) {
290 s = xmalloc(strlen(split->symbol_name) + 3);
291 strcpy(s, split->symbol_name);
295 split->code_size = start_addr_keep - start_addr_split;
296 if (split->sym_name_malloced)
297 free(split->symbol_name);
298 split->symbol_name = s;
299 split->sym_name_malloced = 1;
300 verbprintf(debug, "split left name=%s, start=%llx, end=%llx\n",
301 split->symbol_name, split->vma,
302 split->vma + split->code_size);
304 invalidate_entry(split);
367 * symbol with the maximal lifetime and split/truncate all symbols that overlap