Fix bug in linked_list_block_size().

and Ruben Ayrapetyan fix a bug in linked_list_switch_to_next_elem

Related issue: #720

JerryScript-DCO-1.0-Signed-off-by: Zidong Jiang zidong.jiang@intel.com
This commit is contained in:
Zidong Jiang 2015-11-16 15:26:22 +08:00 committed by Evgeny Gavrin
parent ce3b785c83
commit 3d286b46d0

View File

@ -50,12 +50,12 @@ linked_list_block_size (bool is_first_chunk) /**< is it first chunk (chunk, cont
{
if (is_first_chunk)
{
return (jsp_mm_recommend_size (sizeof (linked_list_header) + 1u) - sizeof (linked_list_header));
return (jsp_mm_recommend_size (sizeof (linked_list_header) + sizeof (linked_list_chunk_header) + 1u)
- sizeof (linked_list_header) - sizeof (linked_list_chunk_header));
}
else
{
return (jsp_mm_recommend_size (sizeof (linked_list_header) + sizeof (linked_list_chunk_header) + 1u)
- sizeof (linked_list_header) - sizeof (linked_list_chunk_header));
return (jsp_mm_recommend_size (sizeof (linked_list_chunk_header) + 1u) - sizeof (linked_list_chunk_header));
}
} /* linked_list_block_size */
@ -152,7 +152,7 @@ linked_list_switch_to_next_elem (linked_list_header *header_p, /**< list header
linked_list_chunk_header *chunk_header_p = *in_out_chunk_header_p;
const size_t element_size = header_p->element_size;
const bool is_first_chunk = ((linked_list_chunk_header *) header_p + 1u == chunk_header_p);
const bool is_first_chunk = ((linked_list_chunk_header *) (header_p + 1u) == chunk_header_p);
JERRY_ASSERT (raw_elem_ptr_p + element_size
<= (uint8_t *) (chunk_header_p + 1u) + linked_list_block_size (is_first_chunk));