Cast debugging can have a substantial cost (20% or more, measured by Aurelien on qemu-system-ppc64). Instead of adding special-cased "fast casts" in the hot paths, we can just disable it in releases. At the same time, add tracing facilities that simplify the analysys of those problems that cast debugging would reveal.
At least patches 1-7 are for 1.5. Paolo Bonzini (9): qom: improve documentation of cast functions qom: allow casting of a NULL class qom: add a fast path to object_class_dynamic_cast qom: pass file/line/function to asserting casts qom: trace asserting casts qom: allow turning cast debugging off build: disable QOM cast debugging for official releases qom: simplify object_class_dynamic_cast, part 1 qom: simplify object_class_dynamic_cast, part 2 configure | 20 ++++++++------ include/qom/object.h | 40 ++++++++++++++++++++++----- qom/object.c | 77 ++++++++++++++++++++++++++++++++++------------------ trace-events | 3 ++ 4 files changed, 99 insertions(+), 41 deletions(-) -- 1.8.1.4