QEMU With E2K User Support
Go to file
Anthony Liguori 035873283b qom: aggressively optimize qom casting
This patch adds a small typename cache to ObjectClass.  This allows
caching positive casts within each ObjectClass.  Benchmarking a
PPC workload provided by Aurelien, this patch eliminates every
single g_hash_table_lookup() happening during the benchmark (which
was about 2 million per-second).

With this patch applied, I get exactly the same performance (within
the margin of error) as with --disable-qom-cast-debug.

N.B. it's safe to cache typenames only from the _assert() macros
because they are always called with string literals.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-05-13 15:27:18 -05:00
audio
backends rng random backend: check for -EAGAIN errors on read 2013-04-16 16:10:21 -05:00
block remove double semicolons 2013-05-12 13:25:55 +04:00
bsd-user bsd-user: OS-agnostic 64-bit SYSCTL types 2013-05-12 13:25:55 +04:00
default-configs audio: Enable all cards 2013-05-03 12:04:49 -05:00
disas tcg-arm: Implement division instructions 2013-04-27 02:16:44 +02:00
docs docs: mention AddressSpaces in docs/memory.txt 2013-05-12 13:25:55 +04:00
dtc@bc895d6d09 dtc: add submodule 2013-04-18 13:50:53 +02:00
fpu fpu: Correct edgecase in float64_muladd 2013-04-15 16:06:15 +02:00
fsdev remove double semicolons 2013-05-12 13:25:55 +04:00
gdb-xml
hw Revert "pc: Kill the "use flash device for BIOS unless KVM" misfeature" 2013-05-13 09:52:43 -05:00
include qom: aggressively optimize qom casting 2013-05-13 15:27:18 -05:00
ldscripts
libcacard libcacard/cac: change big switch functions to single return point 2013-04-24 11:48:06 +03:00
linux-headers linux-headers: Update to kvm/queue 2013-04-26 23:02:40 +02:00
linux-user target-i386: Replace cpuid_*features fields with a feature word array 2013-05-02 00:27:55 +02:00
net tap: properly initialize vhostfds 2013-05-03 13:53:46 +02:00
pc-bios Merge branch 's390-for-upstream' of git://github.com/agraf/qemu 2013-05-06 19:56:27 +02:00
pixman@97336fad32
po de_DE.po: Add missing leading spaces 2013-05-08 15:28:49 +02:00
qapi
qga remove double semicolons 2013-05-12 13:25:55 +04:00
QMP add a new qevent: QEVENT_GUEST_PANICKED 2013-04-30 10:30:01 -05:00
qobject qjson: to_json() case QTYPE_QSTRING is buggy, rewrite 2013-04-13 19:40:25 +00:00
qom qom: aggressively optimize qom casting 2013-05-13 15:27:18 -05:00
roms pseries: Update SLOF firmware image 2013-05-06 17:22:48 +02:00
scripts trace: Add ftrace tracing backend 2013-05-03 13:58:09 +02:00
slirp sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
stubs cpu: Introduce cpu_resume(), for single CPU 2013-05-01 13:04:17 +02:00
sysconfigs/target
target-alpha
target-arm target-arm: Fix incorrect check of kvm_vcpu_ioctl return value 2013-05-03 18:47:22 +01:00
target-cris target-cris: Override do_interrupt for pre-v32 CPU cores 2013-04-16 02:45:11 +02:00
target-i386 target-i386: ROR r8/r16 imm instruction fix 2013-05-10 19:59:54 +02:00
target-lm32
target-m68k
target-microblaze microblaze: Add internal base vectors reg 2013-04-26 11:28:50 +02:00
target-mips target-mips: fix incorrect behaviour for INSV 2013-05-08 18:46:38 +02:00
target-moxie target-moxie: Fix VMState registration 2013-04-12 14:30:39 +02:00
target-openrisc
target-ppc PPC: Fix rldcl 2013-05-08 20:23:20 +02:00
target-s390x Trivial grammar and spelling fixes 2013-05-01 20:55:21 +04:00
target-sh4
target-sparc
target-unicore32
target-xtensa
tcg tcg/optimize: fix setcond2 optimization 2013-05-09 16:14:58 +02:00
tests Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-05-08 15:54:36 -05:00
trace trace: Add ftrace tracing backend 2013-05-03 13:58:09 +02:00
ui ui/gtk.c: do not use gdk_display_warp_pointer when GTK ver >3.0 2013-05-13 09:52:49 -05:00
util clean unnecessary code: don't check g_strdup arg for NULL 2013-05-12 13:25:55 +04:00
.exrc
.gitignore S390: ccw firmware: Add Makefile 2013-04-26 20:18:24 +02:00
.gitmodules dtc: add submodule 2013-04-18 13:50:53 +02:00
.mailmap
aio-posix.c
aio-win32.c
arch_init.c audio: look for the ISA and PCI buses 2013-04-29 12:16:57 -05:00
async.c
balloon.c
block-migration.c
block.c block: Fix build with tracing enabled 2013-04-22 11:31:41 -05:00
blockdev-nbd.c
blockdev.c blockdev: Replace "undefined error" in qmp_block_resize 2013-05-03 10:31:58 +02:00
blockjob.c
bt-host.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Changelog
cmd.c
cmd.h
CODING_STYLE
configure qom: allow turning cast debugging off 2013-05-13 09:52:06 -05:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c Fix warnings suppressors to honor --disable-werror 2013-04-17 10:28:04 -05:00
coroutine-win32.c
cpu-exec.c Merge branch 'mingw' of git://qemu.weilnetz.de/qemu 2013-04-13 14:31:54 +02:00
cpus.c cpus: Fix pausing TCG CPUs while in vCPU thread 2013-05-02 12:15:38 +02:00
cputlb.c
device_tree.c
device-hotplug.c
disas.c disas: Disassemble all ppc insns for the guest 2013-04-26 23:02:42 +02:00
dma-helpers.c
dump-stub.c cpu: Move cpu_write_elfXX_note() functions to CPUState 2013-05-01 13:04:19 +02:00
dump.c cpu: Move cpu_write_elfXX_note() functions to CPUState 2013-05-01 13:04:19 +02:00
exec.c cpu: Add qemu_for_each_cpu() 2013-05-01 13:04:18 +02:00
gdbstub.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
HACKING
hmp-commands.hx audio: remove HAS_AUDIO 2013-04-29 12:16:36 -05:00
hmp.c Merge remote-tracking branch 'bonzini/hw-dirs' into staging 2013-04-15 17:06:04 -05:00
hmp.h Revert "New QMP command query-cpu-max and HMP command cpu_max" 2013-04-12 09:41:54 -04:00
iohandler.c
ioport.c
kvm-all.c kvm-all: add kvm_run_exit tracepoint 2013-05-03 13:58:09 +02:00
kvm-stub.c cpu: Call cpu_synchronize_post_init() from DeviceClass::realize() 2013-05-01 13:04:17 +02:00
LICENSE
main-loop.c
MAINTAINERS target-i386: Introduce ICC bus/device/bridge 2013-05-01 13:06:06 +02:00
Makefile win32: fix compilation again 2013-05-03 12:04:40 -05:00
Makefile.objs target-i386: Add "feature-words" property to X86CPU 2013-05-06 19:16:05 +02:00
Makefile.target cpu: Make kvm-stub.o available outside softmmu 2013-05-01 13:04:17 +02:00
memory_mapping-stub.c
memory_mapping.c
memory.c
migration-exec.c
migration-fd.c
migration-tcp.c
migration-unix.c
migration.c migration: reflect incoming failure to shell 2013-04-17 10:24:24 -05:00
monitor.c add a new qevent: QEVENT_GUEST_PANICKED 2013-04-30 10:30:01 -05:00
nbd.c nbd: support large NBD requests 2013-05-03 13:05:49 +02:00
os-posix.c Add option to mlock qemu and guest memory 2013-04-22 08:52:23 -05:00
os-win32.c qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 2013-04-12 18:27:16 +02:00
page_cache.c
qapi-schema-test.json
qapi-schema.json target-i386: Add "feature-words" property to X86CPU 2013-05-06 19:16:05 +02:00
qdev-monitor.c qdev: Let qdev_prop_parse() pass through Error 2013-05-06 19:40:44 +02:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c qemu-char: Set foo_tag = 0 when returning FALSE from callbacks 2013-04-25 14:45:47 -05:00
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi audio: update documentation after removing --audio-card-list option 2013-05-12 13:25:55 +04:00
qemu-img-cmds.hx
qemu-img.c qemu-img: do not zero-pad the compressed write buffer 2013-04-22 10:27:58 +02:00
qemu-img.texi
qemu-io.c
qemu-log.c
qemu-nbd.c Add -f FMT / --format FMT arg to qemu-nbd 2013-04-15 14:29:20 -05:00
qemu-nbd.texi Add -f FMT / --format FMT arg to qemu-nbd 2013-04-15 14:29:20 -05:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx TLS support for VNC Websockets 2013-05-03 12:04:57 -05:00
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 2013-04-12 18:27:16 +02:00
qemu.sasl
qmp-commands.hx Merge remote-tracking branch 'afaerber/qom-cpu' into staging 2013-05-02 10:57:01 -05:00
qmp.c QMP: Add cpu-add command 2013-05-01 13:06:07 +02:00
qtest.c qtest: Handle addresses and values for {in, out}[bwl] as unsigned 2013-04-22 09:11:50 -05:00
readline.c
README
rules.mak win32: fix compilation again 2013-05-03 12:04:40 -05:00
savevm.c qemu-file: do not use stdio for qemu_fdopen 2013-04-17 11:44:22 +02:00
spice-qemu-char.c spice-qemu-char: vmc_write: Don't write more bytes then we're asked too 2013-04-16 11:52:09 +02:00
tcg-runtime.c
tci.c tci: Make tcg temporaries local to tcg_qemu_tb_exec 2013-04-11 19:58:21 +02:00
thread-pool.c
thunk.c
tpm.c Move TPM passthrough specific command line options to backend structure 2013-04-23 10:40:40 -05:00
trace-events qom: trace asserting casts 2013-05-13 09:52:06 -05:00
translate-all.c PPC: Fix compile with profiling enabled 2013-04-26 23:02:41 +02:00
translate-all.h
user-exec.c
VERSION Update version for 1.5.0-rc1 2013-05-08 15:54:47 -05:00
version.rc
vl.c clean unnecessary code: don't check g_strdup arg for NULL 2013-05-12 13:25:55 +04:00
xbzrle.c
xen-all.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
xen-mapcache.c
xen-stub.c

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team