[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet] [patch #7806] Fixed a memory leak in the libjitjit block a
From: |
Patrick van Beem |
Subject: |
[Dotgnu-pnet] [patch #7806] Fixed a memory leak in the libjitjit block administration |
Date: |
Mon, 25 Jun 2012 06:09:56 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 |
URL:
<http://savannah.gnu.org/patch/?7806>
Summary: Fixed a memory leak in the libjitjit block
administration
Project: DotGNU Portable.NET
Submitted by: pvbeem
Submitted on: Mon 25 Jun 2012 06:09:55 AM GMT
Category: None
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
There was a memory leak in the libjit block administration for functions. The
deleted block chain was not buildup correctly. Therefore, blocks deleted
during optimization were never freed.
Changed this:
/* Block may not be deleted right when it was found useless from
the control flow perspective as it might be referenced from
elsewhere, for instance, from some jit_value_t */
static void
delete_block(jit_block_t block)
{
jit_free(block->succs);
block->succs = 0;
jit_free(block->preds);
block->preds = 0;
jit_free(block->insns);
block->insns = 0;
block->next = block->func->builder->deleted_blocks;
block->func->builder->deleted_blocks = block->next;
}
to:
:
:
block->insns = 0;
jit_block_t oldhead = block->func->builder->deleted_blocks;
block->func->builder->deleted_blocks = block;
block->next = oldhead;
block->prev = NULL;
if (oldhead)
{
oldhead->prev = block;
}
}
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/patch/?7806>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Dotgnu-pnet] [patch #7806] Fixed a memory leak in the libjitjit block administration,
Patrick van Beem <=