qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassemb


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 0/4] disas: add libvixl to support A64 disassembly
Date: Tue, 7 Jan 2014 23:46:30 +0000

On 7 January 2014 16:51, Peter Maydell <address@hidden> wrote:
>  configure                                    |    4 +
>  disas.c                                      |   14 +-
>  disas/Makefile.objs                          |    7 +
>  disas/aarch64-cxx.cc                         |   80 +
>  disas/aarch64.c                              |   39 +
>  disas/libvixl/LICENCE                        |   30 +
>  disas/libvixl/Makefile.objs                  |    6 +
>  disas/libvixl/README.md                      |  128 ++
>  disas/libvixl/doc/changelog.md               |   12 +
>  disas/libvixl/doc/supported-instructions.md  | 1133 ++++++++++++++
>  disas/libvixl/src/a64/assembler-a64.cc       | 2172 
> ++++++++++++++++++++++++++
>  disas/libvixl/src/a64/assembler-a64.h        | 1784 +++++++++++++++++++++
>  disas/libvixl/src/a64/constants-a64.h        | 1104 +++++++++++++
>  disas/libvixl/src/a64/cpu-a64.cc             |  148 ++
>  disas/libvixl/src/a64/cpu-a64.h              |   56 +
>  disas/libvixl/src/a64/debugger-a64.cc        | 1511 ++++++++++++++++++
>  disas/libvixl/src/a64/debugger-a64.h         |  188 +++
>  disas/libvixl/src/a64/decoder-a64.cc         |  712 +++++++++
>  disas/libvixl/src/a64/decoder-a64.h          |  198 +++
>  disas/libvixl/src/a64/disasm-a64.cc          | 1678 ++++++++++++++++++++
>  disas/libvixl/src/a64/disasm-a64.h           |  109 ++
>  disas/libvixl/src/a64/instructions-a64.cc    |  238 +++
>  disas/libvixl/src/a64/instructions-a64.h     |  344 ++++
>  disas/libvixl/src/a64/instrument-a64.cc      |  638 ++++++++
>  disas/libvixl/src/a64/instrument-a64.h       |  108 ++
>  disas/libvixl/src/a64/macro-assembler-a64.cc | 1108 +++++++++++++
>  disas/libvixl/src/a64/macro-assembler-a64.h  | 1175 ++++++++++++++
>  disas/libvixl/src/a64/simulator-a64.cc       | 2077 ++++++++++++++++++++++++
>  disas/libvixl/src/a64/simulator-a64.h        |  576 +++++++
>  disas/libvixl/src/globals.h                  |   66 +
>  disas/libvixl/src/platform.h                 |   43 +
>  disas/libvixl/src/utils.cc                   |  120 ++
>  disas/libvixl/src/utils.h                    |  126 ++
>  include/disas/bfd.h                          |    1 +
>  rules.mak                                    |   14 +-
>  target-arm/translate-a64.c                   |    2 +-
>  36 files changed, 17743 insertions(+), 6 deletions(-)

Another option we could consider here is only pulling in the set of source
files we compile plus the headers they require, not the whole library. That's

   126 disas/libvixl/src/utils.h
   712 disas/libvixl/src/a64/decoder-a64.cc
   198 disas/libvixl/src/a64/decoder-a64.h
  1678 disas/libvixl/src/a64/disasm-a64.cc
   344 disas/libvixl/src/a64/instructions-a64.h
  1104 disas/libvixl/src/a64/constants-a64.h
   109 disas/libvixl/src/a64/disasm-a64.h
    56 disas/libvixl/src/a64/cpu-a64.h
  1784 disas/libvixl/src/a64/assembler-a64.h
   238 disas/libvixl/src/a64/instructions-a64.cc
    43 disas/libvixl/src/platform.h
    66 disas/libvixl/src/globals.h
   120 disas/libvixl/src/utils.cc

for about 6600 lines total. That's a significant reduction in the amount of
code we're carrying around; the tradeoff is that if/when we have to update
to a new libvixl it's not quite such a simple drop-in replacement as it might
otherwise be, since you'd need to do the trimming down of files again.
On balance I think only taking the files we use is probably the best thing.

thanks
-- PMM



reply via email to

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