2011-04-26 Andrew Gontarek <andrewg@cray.com>

* valprint.c (val_print_array_elements): Fixed poor performance
       of printing very large arrays with repeat_count_threshold set
       to unlimited.  New comment.
This commit is contained in:
Tom Tromey 2011-04-29 19:23:39 +00:00
parent 38a714bb6f
commit 35bef4fd1d
2 changed files with 20 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2011-04-26 Andrew Gontarek <andrewg@cray.com>
* valprint.c (val_print_array_elements): Fixed poor performance
of printing very large arrays with repeat_count_threshold set
to unlimited. New comment.
2011-04-29 Tom Tromey <tromey@redhat.com>
* mi/mi-parse.c (mi_parse): Remove incorrect sizeof.

View File

@ -1247,15 +1247,21 @@ val_print_array_elements (struct type *type,
rep1 = i + 1;
reps = 1;
while (rep1 < len
&& value_available_contents_eq (val,
embedded_offset + i * eltlen,
val,
embedded_offset + rep1 * eltlen,
eltlen))
/* Only check for reps if repeat_count_threshold is not set to
UINT_MAX (unlimited). */
if (options->repeat_count_threshold < UINT_MAX)
{
++reps;
++rep1;
while (rep1 < len
&& value_available_contents_eq (val,
embedded_offset + i * eltlen,
val,
(embedded_offset
+ rep1 * eltlen),
eltlen))
{
++reps;
++rep1;
}
}
if (reps > options->repeat_count_threshold)