Change 'mem' namspace to 'jmem'
The 'mem_' prefix is too general, so it might clash with symbols in other libraries. Renamed the directory, file, funtion and type names. Related issue: #1052 JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
/* Copyright 2014-2016 Samsung Electronics Co., Ltd.
|
||||
* Copyright 2016 University of Szeged.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Allocator implementation
|
||||
*/
|
||||
|
||||
#include "jrt.h"
|
||||
#include "jrt-libc-includes.h"
|
||||
#include "jmem-allocator.h"
|
||||
#include "jmem-heap.h"
|
||||
#include "jmem-poolman.h"
|
||||
|
||||
#define JMEM_ALLOCATOR_INTERNAL
|
||||
#include "jmem-allocator-internal.h"
|
||||
|
||||
/**
|
||||
* The 'try to give memory back' callback
|
||||
*/
|
||||
static jmem_try_give_memory_back_callback_t jmem_try_give_memory_back_callback = NULL;
|
||||
|
||||
/**
|
||||
* Initialize memory allocators.
|
||||
*/
|
||||
void
|
||||
jmem_init (void)
|
||||
{
|
||||
jmem_heap_init ();
|
||||
jmem_pools_init ();
|
||||
} /* jmem_init */
|
||||
|
||||
/**
|
||||
* Finalize memory allocators.
|
||||
*/
|
||||
void
|
||||
jmem_finalize (bool is_show_mem_stats) /**< show heap memory stats
|
||||
before finalization? */
|
||||
{
|
||||
jmem_pools_finalize ();
|
||||
|
||||
#ifdef JMEM_STATS
|
||||
if (is_show_mem_stats)
|
||||
{
|
||||
jmem_stats_print ();
|
||||
}
|
||||
#else /* !JMEM_STATS */
|
||||
(void) is_show_mem_stats;
|
||||
#endif /* JMEM_STATS */
|
||||
|
||||
jmem_heap_finalize ();
|
||||
} /* jmem_finalize */
|
||||
|
||||
/**
|
||||
* Compress pointer
|
||||
*
|
||||
* @return packed pointer
|
||||
*/
|
||||
uintptr_t
|
||||
jmem_compress_pointer (const void *pointer_p) /**< pointer to compress */
|
||||
{
|
||||
JERRY_ASSERT (jmem_is_heap_pointer (pointer_p));
|
||||
|
||||
return jmem_heap_compress_pointer (pointer_p);
|
||||
} /* jmem_compress_pointer */
|
||||
|
||||
/**
|
||||
* Decompress pointer
|
||||
*
|
||||
* @return unpacked pointer
|
||||
*/
|
||||
void *
|
||||
jmem_decompress_pointer (uintptr_t compressed_pointer) /**< pointer to decompress */
|
||||
{
|
||||
return jmem_heap_decompress_pointer (compressed_pointer);
|
||||
} /* jmem_decompress_pointer */
|
||||
|
||||
/**
|
||||
* Register specified 'try to give memory back' callback routine
|
||||
*/
|
||||
void
|
||||
jmem_register_a_try_give_memory_back_callback (jmem_try_give_memory_back_callback_t callback) /**< callback routine */
|
||||
{
|
||||
/* Currently only one callback is supported */
|
||||
JERRY_ASSERT (jmem_try_give_memory_back_callback == NULL);
|
||||
|
||||
jmem_try_give_memory_back_callback = callback;
|
||||
} /* jmem_register_a_try_give_memory_back_callback */
|
||||
|
||||
/**
|
||||
* Unregister specified 'try to give memory back' callback routine
|
||||
*/
|
||||
void
|
||||
jmem_unregister_a_try_give_memory_back_callback (jmem_try_give_memory_back_callback_t callback) /**< callback routine */
|
||||
{
|
||||
/* Currently only one callback is supported */
|
||||
JERRY_ASSERT (jmem_try_give_memory_back_callback == callback);
|
||||
|
||||
jmem_try_give_memory_back_callback = NULL;
|
||||
} /* jmem_unregister_a_try_give_memory_back_callback */
|
||||
|
||||
/**
|
||||
* Run 'try to give memory back' callbacks with specified severity
|
||||
*/
|
||||
void
|
||||
jmem_run_try_to_give_memory_back_callbacks (jmem_try_give_memory_back_severity_t severity) /**< severity of
|
||||
the request */
|
||||
{
|
||||
if (jmem_try_give_memory_back_callback != NULL)
|
||||
{
|
||||
jmem_try_give_memory_back_callback (severity);
|
||||
}
|
||||
|
||||
jmem_pools_collect_empty ();
|
||||
} /* jmem_run_try_to_give_memory_back_callbacks */
|
||||
|
||||
#ifdef JMEM_STATS
|
||||
/**
|
||||
* Reset peak values in memory usage statistics
|
||||
*/
|
||||
void
|
||||
jmem_stats_reset_peak (void)
|
||||
{
|
||||
jmem_heap_stats_reset_peak ();
|
||||
jmem_pools_stats_reset_peak ();
|
||||
} /* jmem_stats_reset_peak */
|
||||
|
||||
/**
|
||||
* Print memory usage statistics
|
||||
*/
|
||||
void
|
||||
jmem_stats_print (void)
|
||||
{
|
||||
jmem_heap_stats_print ();
|
||||
jmem_pools_stats_print ();
|
||||
} /* jmem_stats_print */
|
||||
#endif /* JMEM_STATS */
|
||||
Reference in New Issue
Block a user