[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v13 01/14] qobject: Simplify QObject
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v13 01/14] qobject: Simplify QObject |
Date: |
Thu, 26 Nov 2015 16:06:02 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Eric Blake <address@hidden> writes:
> 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 refcnt element of the vtable QType
> directly into QObject, and track a separate array of destroy
> functions. We can drop qnull_destroy_obj() in the process.
Make that something like "inline the code element of the vtable QType
directly into QObject (renamed to type), and".
>
> 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).
>
> Suggested-by: Markus Armbruster <address@hidden>
> Signed-off-by: Eric Blake <address@hidden>
- [Qemu-devel] [PATCH v13 11/14] qapi: Populate info['name'] for each entity, (continued)
- [Qemu-devel] [PATCH v13 11/14] qapi: Populate info['name'] for each entity, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 09/14] qapi: Prepare new QAPISchemaMember base class, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 14/14] qapi: Detect base class loops, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 04/14] qapi: Simplify visiting of alternate types, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 12/14] qapi: Enforce (or whitelist) case conventions on qapi members, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 01/14] qobject: Simplify QObject, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 02/14] qobject: Rename qtype_code to QType, Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 06/14] qapi: Fix alternates that accept 'number' but not 'int', Eric Blake, 2015/11/20
- [Qemu-devel] [PATCH v13 13/14] qapi: Move duplicate collision checks to schema check(), Eric Blake, 2015/11/20
- Re: [Qemu-devel] [PATCH v13 00/14] qapi member collision (post-introspection cleanups, subset D), Markus Armbruster, 2015/11/27