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


Reply via email to