Skip to content
Snippets Groups Projects
  1. Dec 19, 2020
  2. Jan 24, 2020
  3. Aug 24, 2018
  4. Jul 28, 2018
  5. Mar 19, 2018
  6. Feb 09, 2018
  7. Nov 17, 2017
  8. Feb 04, 2016
  9. Dec 17, 2015
    • Eric Blake's avatar
      qobject: Simplify QObject · 55e1819c
      Eric Blake authored
      
      The QObject hierarchy is small enough, and unlikely to grow further
      (since we only use it to map to JSON and already cover all JSON
      types), that we can simplify things by not tracking a separate
      vtable, but just inline the code element of the vtable QType
      directly into QObject (renamed to type), and track a separate array
      of destroy functions.  We can drop qnull_destroy_obj() in the
      process.
      
      The remaining QObject subclasses must export their destructor.
      
      This also has the nice benefit of moving the typename 'QType'
      out of the way, so that the next patch can repurpose it for a
      nicer name for 'qtype_code'.
      
      The various objects are still the same size (so no change in cache
      line pressure), but now have less indirection (although I didn't
      bother benchmarking to see if there is a noticeable speedup, as
      we don't have hard evidence that this was in a performance hotspot
      in the first place).
      
      A future patch could drop the refcnt size to 32 bits for a smaller
      struct on 64-bit architectures, if desired (we have limits on the
      largest JSON that we are willing to parse, and will probably never
      need to take full advantage of a 64-bit refcnt).
      
      Suggested-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <1449033659-25497-2-git-send-email-eblake@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      55e1819c
  10. Oct 29, 2015
  11. Apr 05, 2013
  12. Jan 12, 2013
  13. Dec 19, 2012
  14. Aug 21, 2011
  15. May 19, 2010
  16. Dec 03, 2009
  17. Nov 17, 2009
  18. Sep 04, 2009
Loading