[RFC PATCH v1 08/17] vmstate: Don't recompute size and n_elems in vmstate_size

Fabiano Rosas posted 17 patches 1 week, 2 days ago
[RFC PATCH v1 08/17] vmstate: Don't recompute size and n_elems in vmstate_size
Posted by Fabiano Rosas 1 week, 2 days ago
The caller already has the size and number of elements available. Pass
them in. Subsequent commits will add other callers.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
 migration/vmstate.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/migration/vmstate.c b/migration/vmstate.c
index 0975d10793..8437b5ef3e 100644
--- a/migration/vmstate.c
+++ b/migration/vmstate.c
@@ -101,11 +101,10 @@ static int vmstate_size(void *opaque, const VMStateField *field)
 }
 
 static void vmstate_handle_alloc(void *ptr, const VMStateField *field,
-                                 void *opaque)
+                                 int size, int n_elems)
 {
     if (field->flags & VMS_POINTER && field->flags & VMS_ALLOC) {
-        gsize size = vmstate_size(opaque, field);
-        size *= vmstate_n_elems(opaque, field);
+        size *= n_elems;
         if (size) {
             *(void **)ptr = g_malloc(size);
         }
@@ -248,7 +247,7 @@ bool vmstate_load_vmsd(QEMUFile *f, const VMStateDescription *vmsd,
             int i, n_elems = vmstate_n_elems(opaque, field);
             int size = vmstate_size(opaque, field);
 
-            vmstate_handle_alloc(first_elem, field, opaque);
+            vmstate_handle_alloc(first_elem, field, size, n_elems);
             if (field->flags & VMS_POINTER) {
                 first_elem = *(void **)first_elem;
                 assert(first_elem || !n_elems || !size);
-- 
2.51.0