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
@@ -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;
}
--
2.25.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>
--
Thanks.
-- Max
© 2016 - 2026 Red Hat, Inc.