Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Change pool-based allocation to heap-based allocation in jerry.c
There was an abuse of memory pools in jerry.c: `compiled_code_map_entry_t`
is not an ECMA data model object but was still alocated/freed via
mem pool functions. Changed the appropriate calls to heap-related
functions.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss [email protected]
  • Loading branch information
akosthekiss committed Mar 7, 2016
commit d4650bc75ca62d610f535ea3692fe812a157b87e
5 changes: 3 additions & 2 deletions jerry-core/jerry.c
Original file line number Diff line number Diff line change
Expand Up @@ -1851,7 +1851,8 @@ snapshot_add_compiled_code (ecma_compiled_code_t *compiled_code_p, /**< compiled

snapshot_last_compiled_code_offset = snapshot_buffer_write_offset;

compiled_code_map_entry_t *new_entry = (compiled_code_map_entry_t *) mem_pools_alloc ();
compiled_code_map_entry_t *new_entry;
new_entry = (compiled_code_map_entry_t *) mem_heap_alloc_block (sizeof (compiled_code_map_entry_t));

if (new_entry == NULL)
{
Expand Down Expand Up @@ -2133,7 +2134,7 @@ jerry_parse_and_save_snapshot (const jerry_api_char_t *source_p, /**< script sou
{
compiled_code_map_entry_t *next_p = ECMA_GET_POINTER (compiled_code_map_entry_t,
current_p->next_cp);
mem_pools_free ((uint8_t *) current_p);
mem_heap_free_block (current_p, sizeof (compiled_code_map_entry_t));
current_p = next_p;
}

Expand Down