qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/9] address_space_write_continue: Distill commo


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH 4/9] address_space_write_continue: Distill common code
Date: Fri, 8 Jul 2016 13:38:06 +1000
User-agent: Mutt/1.6.1 (2016-04-27)

On Thu, Jul 07, 2016 at 04:33:38PM -0700, Andrey Smirnov wrote:
> Move call to memory_region_dispatch_write() outside of swtich statement
> since the only thing that is different about all of those call is
> "length" argument and that matches value in "l". Also collapse switch
> statement to occupy less vertical space.
> 
> Signed-off-by: Andrey Smirnov <address@hidden>

I'm not a big fan of putting multiple statements on a single line,
especially flow control like break.  But apart from that,

Reviewed-by: David Gibson <address@hidden>

> ---
>  exec.c | 31 +++++++------------------------
>  1 file changed, 7 insertions(+), 24 deletions(-)
> 
> diff --git a/exec.c b/exec.c
> index c26bcea..eea3018 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -2566,33 +2566,16 @@ static MemTxResult 
> address_space_write_continue(AddressSpace *as, hwaddr addr,
>              /* XXX: could force current_cpu to NULL to avoid
>                 potential bugs */
>              switch (l) {
> -            case 8:
> -                /* 64 bit write access */
> -                val = ldq_p(buf);
> -                result |= memory_region_dispatch_write(mr, addr1, val, 8,
> -                                                       attrs);
> -                break;
> -            case 4:
> -                /* 32 bit write access */
> -                val = ldl_p(buf);
> -                result |= memory_region_dispatch_write(mr, addr1, val, 4,
> -                                                       attrs);
> -                break;
> -            case 2:
> -                /* 16 bit write access */
> -                val = lduw_p(buf);
> -                result |= memory_region_dispatch_write(mr, addr1, val, 2,
> -                                                       attrs);
> -                break;
> -            case 1:
> -                /* 8 bit write access */
> -                val = ldub_p(buf);
> -                result |= memory_region_dispatch_write(mr, addr1, val, 1,
> -                                                       attrs);
> -                break;
> +            case 8: val = ldq_p(buf);  break; /* 64 bit write access */
> +            case 4: val = ldl_p(buf);  break; /* 32 bit write access */
> +            case 2: val = lduw_p(buf); break; /* 16 bit write access */
> +            case 1: val = ldub_p(buf); break; /*  8 bit write access */
>              default:
>                  abort();
>              }
> +
> +            result |= memory_region_dispatch_write(mr, addr1, val, l,
> +                                                   attrs);
>          } else {
>              /* RAM case */
>              ptr = qemu_map_ram_ptr(mr->ram_block, addr1);

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]