Lines Matching defs:last
195 Context* last;
204 last = 0;
214 last = cxt->fn[i-1]->pure_cxt;
216 /* If the last context was the context to print, we are finished */
217 if ((last == cxt) && (rec_index == 0)) return;
260 * the <last> position, update <last>
263 static Bool print_fn_pos(VgFile *fp, FnPos* last, BBCC* bbcc)
275 if (last->rec_index != bbcc->rec_index) {
277 last->rec_index = bbcc->rec_index;
278 last->cxt = 0; /* reprint context */
282 if (last->cxt != bbcc->cxt) {
283 fn_node* last_from = (last->cxt && last->cxt->size >1) ?
284 last->cxt->fn[1] : 0;
298 last->cxt = bbcc->cxt;
302 if (last->obj != bbcc->cxt->fn[0]->file->obj) {
304 last->obj = bbcc->cxt->fn[0]->file->obj;
308 if (last->file != bbcc->cxt->fn[0]->file) {
310 last->file = bbcc->cxt->fn[0]->file;
315 if (last->fn != bbcc->cxt->fn[0]) {
317 last->fn = bbcc->cxt->fn[0];
323 if ((last->rec_index != bbcc->rec_index) ||
324 (last->cxt != bbcc->cxt)) {
327 last->fn = bbcc->cxt->fn[0];
328 last->rec_index = bbcc->rec_index;
333 last->cxt = bbcc->cxt;
432 * print position change inside of a BB (last -> curr)
433 * this doesn't update last to curr!
435 static void fprint_apos(VgFile *fp, AddrPos* curr, AddrPos* last,
443 if (curr->file != last->file) {
453 if (curr->line != last->line) {
465 * This doesn't set last to curr afterwards!
468 void fprint_pos(VgFile *fp, const AddrPos* curr, const AddrPos* last)
474 int diff = curr->addr - last->addr;
475 if ( CLG_(clo).compress_pos && (last->addr >0) &&
489 int diff = curr->bb_addr - last->bb_addr;
490 if ( CLG_(clo).compress_pos && (last->bb_addr >0) &&
504 int diff = curr->line - last->line;
505 if ( CLG_(clo).compress_pos && (last->line >0) &&
537 * position are written that changed relative to last written position.
541 static void fprint_fcost(VgFile *fp, AddrCost* c, AddrPos* last)
549 fprint_pos(fp, &(c->p), last);
550 copy_apos( last, &(c->p) ); /* update last to current position */
561 static void fprint_jcc(VgFile *fp, jCC* jcc, AddrPos* curr, AddrPos* last,
578 target.file = last->file;
601 if (last->file != target.file) {
624 fprint_pos(fp, &target, last);
626 fprint_pos(fp, curr, last);
642 if (last->file != file) {
655 fprint_pos(fp, &target, last);
657 fprint_pos(fp, curr, last);
680 static Bool fprint_bbcc(VgFile *fp, BBCC* bbcc, AddrPos* last)
721 fprint_apos(fp, &(currCost->p), last, bbcc->cxt->fn[0]->file);
722 fprint_fcost(fp, currCost, last);
745 fprint_apos(fp, &(currCost->p), last, bbcc->cxt->fn[0]->file);
746 fprint_fcost(fp, currCost, last);
749 fprint_apos(fp, &(currCost->p), last, bbcc->cxt->fn[0]->file);
754 fprint_jcc(fp, jcc, &(currCost->p), last, ecounter);
782 fprint_apos(fp, &(currCost->p), last, bbcc->cxt->fn[0]->file);
783 fprint_fcost(fp, currCost, last);
787 fprint_apos(fp, &(currCost->p), last, bbcc->cxt->fn[0]->file);
798 fprint_fcost(fp, currCost, last);
807 fprint_jcc(fp, jcc, &(currCost->p), last, ecounter);
815 fprint_apos(fp, &(currCost->p), last, bbcc->cxt->fn[0]->file);
816 fprint_fcost(fp, currCost, last);
1442 /* set counters of last dump */