diff mbox series

[4/8] target/xtensa: Replaced malloc/free with GLib's variants

Message ID 20210314032324.45142-5-ma.mandourr@gmail.com
State New
Headers show
Series Replacing malloc and the like with GLib's variants | expand

Commit Message

Mahmoud Abumandour March 14, 2021, 3:23 a.m. UTC
Replaced the calls to malloc() and their respective calls to
free() with GLib's allocation and deallocation functions.

Removed null checking before calling g_free() because it's
not necessary and generates style errors.

Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
---
 target/xtensa/xtensa-isa.c | 53 +++++++++++++++-----------------------
 1 file changed, 21 insertions(+), 32 deletions(-)

Comments

Max Filippov March 14, 2021, 3:38 p.m. UTC | #1
On Sat, Mar 13, 2021 at 7:23 PM Mahmoud Mandour <ma.mandourr@gmail.com> wrote:
>
> Replaced the calls to malloc() and their respective calls to
> free() with GLib's allocation and deallocation functions.
>
> Removed null checking before calling g_free() because it's
> not necessary and generates style errors.
>
> Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
> ---
>  target/xtensa/xtensa-isa.c | 53 +++++++++++++++-----------------------
>  1 file changed, 21 insertions(+), 32 deletions(-)
>
> diff --git a/target/xtensa/xtensa-isa.c b/target/xtensa/xtensa-isa.c
> index 630b4f9da1..5afdba77aa 100644
> --- a/target/xtensa/xtensa-isa.c
> +++ b/target/xtensa/xtensa-isa.c

[...]

> @@ -332,36 +332,25 @@ void xtensa_isa_free(xtensa_isa isa)
>       * structure to its initial state.
>       */
>
> -    if (intisa->opname_lookup_table) {
> -        free(intisa->opname_lookup_table);
> -        intisa->opname_lookup_table = 0;
> -    }
> +    g_free(intisa->opname_lookup_table);
> +    intisa->opname_lookup_table = 0;

This 0 should be replaced with NULL.

>
> -    if (intisa->state_lookup_table) {
> -        free(intisa->state_lookup_table);
> -        intisa->state_lookup_table = 0;
> -    }
> +    g_free(intisa->state_lookup_table);
> +    intisa->state_lookup_table = 0;

Ditto.

> +
> +    g_free(intisa->sysreg_lookup_table);
> +    intisa->sysreg_lookup_table = 0;

Ditto.

>
> -    if (intisa->sysreg_lookup_table) {
> -        free(intisa->sysreg_lookup_table);
> -        intisa->sysreg_lookup_table = 0;
> -    }
>      for (n = 0; n < 2; n++) {
> -        if (intisa->sysreg_table[n]) {
> -            free(intisa->sysreg_table[n]);
> -            intisa->sysreg_table[n] = 0;
> -        }
> +        g_free(intisa->sysreg_table[n]);
> +        intisa->sysreg_table[n] = 0;

Ditto.

>      }
>
> -    if (intisa->interface_lookup_table) {
> -        free(intisa->interface_lookup_table);
> -        intisa->interface_lookup_table = 0;
> -    }
> +    g_free(intisa->interface_lookup_table);
> +    intisa->interface_lookup_table = 0;

Ditto.

>
> -    if (intisa->funcUnit_lookup_table) {
> -        free(intisa->funcUnit_lookup_table);
> -        intisa->funcUnit_lookup_table = 0;
> -    }
> +    g_free(intisa->funcUnit_lookup_table);
> +    intisa->funcUnit_lookup_table = 0;

Ditto.

With the above changes:
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
diff mbox series

Patch

diff --git a/target/xtensa/xtensa-isa.c b/target/xtensa/xtensa-isa.c
index 630b4f9da1..5afdba77aa 100644
--- a/target/xtensa/xtensa-isa.c
+++ b/target/xtensa/xtensa-isa.c
@@ -79,7 +79,7 @@  int xtensa_insnbuf_size(xtensa_isa isa)
 xtensa_insnbuf xtensa_insnbuf_alloc(xtensa_isa isa)
 {
     xtensa_insnbuf result = (xtensa_insnbuf)
-        malloc(xtensa_insnbuf_size(isa) * sizeof(xtensa_insnbuf_word));
+        g_try_malloc(xtensa_insnbuf_size(isa) * sizeof(xtensa_insnbuf_word));
 
     CHECK_ALLOC(result, 0);
     return result;
@@ -89,7 +89,7 @@  xtensa_insnbuf xtensa_insnbuf_alloc(xtensa_isa isa)
 void xtensa_insnbuf_free(xtensa_isa isa __attribute__ ((unused)),
                          xtensa_insnbuf buf)
 {
-    free(buf);
+    g_free(buf);
 }
 
 
@@ -237,7 +237,7 @@  xtensa_isa xtensa_isa_init(void *xtensa_modules, xtensa_isa_status *errno_p,
 
     /* Set up the opcode name lookup table. */
     isa->opname_lookup_table =
-        malloc(isa->num_opcodes * sizeof(xtensa_lookup_entry));
+        g_try_new(xtensa_lookup_entry, isa->num_opcodes);
     CHECK_ALLOC_FOR_INIT(isa->opname_lookup_table, NULL, errno_p, error_msg_p);
     for (n = 0; n < isa->num_opcodes; n++) {
         isa->opname_lookup_table[n].key = isa->opcodes[n].name;
@@ -248,7 +248,7 @@  xtensa_isa xtensa_isa_init(void *xtensa_modules, xtensa_isa_status *errno_p,
 
     /* Set up the state name lookup table. */
     isa->state_lookup_table =
-        malloc(isa->num_states * sizeof(xtensa_lookup_entry));
+        g_try_new(xtensa_lookup_entry, isa->num_states);
     CHECK_ALLOC_FOR_INIT(isa->state_lookup_table, NULL, errno_p, error_msg_p);
     for (n = 0; n < isa->num_states; n++) {
         isa->state_lookup_table[n].key = isa->states[n].name;
@@ -259,7 +259,7 @@  xtensa_isa xtensa_isa_init(void *xtensa_modules, xtensa_isa_status *errno_p,
 
     /* Set up the sysreg name lookup table. */
     isa->sysreg_lookup_table =
-        malloc(isa->num_sysregs * sizeof(xtensa_lookup_entry));
+        g_try_new(xtensa_lookup_entry, isa->num_sysregs);
     CHECK_ALLOC_FOR_INIT(isa->sysreg_lookup_table, NULL, errno_p, error_msg_p);
     for (n = 0; n < isa->num_sysregs; n++) {
         isa->sysreg_lookup_table[n].key = isa->sysregs[n].name;
@@ -271,7 +271,7 @@  xtensa_isa xtensa_isa_init(void *xtensa_modules, xtensa_isa_status *errno_p,
     /* Set up the user & system sysreg number tables. */
     for (is_user = 0; is_user < 2; is_user++) {
         isa->sysreg_table[is_user] =
-            malloc((isa->max_sysreg_num[is_user] + 1) * sizeof(xtensa_sysreg));
+            g_try_new(xtensa_sysreg, isa->max_sysreg_num[is_user] + 1);
         CHECK_ALLOC_FOR_INIT(isa->sysreg_table[is_user], NULL,
                              errno_p, error_msg_p);
 
@@ -290,7 +290,7 @@  xtensa_isa xtensa_isa_init(void *xtensa_modules, xtensa_isa_status *errno_p,
 
     /* Set up the interface lookup table. */
     isa->interface_lookup_table =
-        malloc(isa->num_interfaces * sizeof(xtensa_lookup_entry));
+        g_try_new(xtensa_lookup_entry, isa->num_interfaces);
     CHECK_ALLOC_FOR_INIT(isa->interface_lookup_table, NULL, errno_p,
                          error_msg_p);
     for (n = 0; n < isa->num_interfaces; n++) {
@@ -302,7 +302,7 @@  xtensa_isa xtensa_isa_init(void *xtensa_modules, xtensa_isa_status *errno_p,
 
     /* Set up the funcUnit lookup table. */
     isa->funcUnit_lookup_table =
-        malloc(isa->num_funcUnits * sizeof(xtensa_lookup_entry));
+        g_try_new(xtensa_lookup_entry, isa->num_funcUnits);
     CHECK_ALLOC_FOR_INIT(isa->funcUnit_lookup_table, NULL, errno_p,
                          error_msg_p);
     for (n = 0; n < isa->num_funcUnits; n++) {
@@ -332,36 +332,25 @@  void xtensa_isa_free(xtensa_isa isa)
      * structure to its initial state.
      */
 
-    if (intisa->opname_lookup_table) {
-        free(intisa->opname_lookup_table);
-        intisa->opname_lookup_table = 0;
-    }
+    g_free(intisa->opname_lookup_table);
+    intisa->opname_lookup_table = 0;
 
-    if (intisa->state_lookup_table) {
-        free(intisa->state_lookup_table);
-        intisa->state_lookup_table = 0;
-    }
+    g_free(intisa->state_lookup_table);
+    intisa->state_lookup_table = 0;
+
+    g_free(intisa->sysreg_lookup_table);
+    intisa->sysreg_lookup_table = 0;
 
-    if (intisa->sysreg_lookup_table) {
-        free(intisa->sysreg_lookup_table);
-        intisa->sysreg_lookup_table = 0;
-    }
     for (n = 0; n < 2; n++) {
-        if (intisa->sysreg_table[n]) {
-            free(intisa->sysreg_table[n]);
-            intisa->sysreg_table[n] = 0;
-        }
+        g_free(intisa->sysreg_table[n]);
+        intisa->sysreg_table[n] = 0;
     }
 
-    if (intisa->interface_lookup_table) {
-        free(intisa->interface_lookup_table);
-        intisa->interface_lookup_table = 0;
-    }
+    g_free(intisa->interface_lookup_table);
+    intisa->interface_lookup_table = 0;
 
-    if (intisa->funcUnit_lookup_table) {
-        free(intisa->funcUnit_lookup_table);
-        intisa->funcUnit_lookup_table = 0;
-    }
+    g_free(intisa->funcUnit_lookup_table);
+    intisa->funcUnit_lookup_table = 0;
 }