> src/cpu/cpu_x86.c | 576
+++++++++++++++++++++--------------------------
> src/cpu/cpu_x86_data.h | 4 +-
> 2 files changed, 259 insertions(+), 321 deletions(-)
>
Nice cleanup.
ACK.
Thanks, I pushed the patch without any modifications.
> +
> +static void
> +x86DataIteratorInit(struct data_iterator *iter,
> + union cpuData *data)
> +{
> + struct data_iterator init = DATA_ITERATOR_INIT(data);
> +
> + *iter = init;
Is this any more efficient if init is marked static?
It might be more efficient but it is incorrect as we want to keep
x86DataIteratorInit() reentrant.
Or can we even bypass the init variable and just do *iter =
DATA_ITERATOR_INIT(data)?
Unfortunately we can't since it wouldn't compile. We could, however rewrite it
as
iter->data = data;
iter->pos = -1;
iter->extended = false;
I prefer to reuse DATA_ITERATOR_INIT() instead.
Jirka