diff --git a/grid.h b/grid.h index 5d87f495..4a25d218 100644 --- a/grid.h +++ b/grid.h @@ -20,6 +20,7 @@ grid_row(struct grid *grid, int row_no) grid->rows[real_row] = row; } + __builtin_prefetch(row->cells, 1, 3); return row; } diff --git a/terminal.c b/terminal.c index f0fa3cfc..5b4b0f50 100644 --- a/terminal.c +++ b/terminal.c @@ -164,8 +164,8 @@ term_scroll_partial(struct terminal *term, struct scroll_region region, int rows * 2) prefetch the cells - this makes life easier for erase_line() below */ for (int r = max(region.end - rows, 0); r < term->rows; r++) { - struct row *row = grid_row(term->grid, r); - __builtin_prefetch(row->cells, 1, 3); + struct row *row __attribute__((unused)) = grid_row(term->grid, r); + //__builtin_prefetch(row->cells, 1, 3); } /* Top non-scrolling region. */ @@ -207,8 +207,8 @@ term_scroll_reverse_partial(struct terminal *term, term->grid->view = term->grid->offset; for (int r = 0; r < min(region.start + rows, region.end); r++) { - struct row *row = grid_row(term->grid, r); - __builtin_prefetch(row->cells, 1, 3); + struct row *row __attribute__((unused)) = grid_row(term->grid, r); + //__builtin_prefetch(row->cells, 1, 3); } /* Bottom non-scrolling region */