Add API for get the memory stats (#1923)
JerryScript-DCO-1.0-Signed-off-by: Zidong Jiang zidong.jiang@intel.com
This commit is contained in:
committed by
Zoltan Herczeg
parent
8b5fe254d9
commit
c242248b47
@@ -33,6 +33,7 @@
|
||||
#include "ecma-promise-object.h"
|
||||
#include "jcontext.h"
|
||||
#include "jerryscript.h"
|
||||
#include "jmem.h"
|
||||
#include "js-parser.h"
|
||||
#include "re-compiler.h"
|
||||
|
||||
@@ -254,6 +255,39 @@ jerry_gc (void)
|
||||
ecma_gc_run (JMEM_FREE_UNUSED_MEMORY_SEVERITY_LOW);
|
||||
} /* jerry_gc */
|
||||
|
||||
/**
|
||||
* Get heap memory stats.
|
||||
*
|
||||
* @return true - get the heap stats successful
|
||||
* false - otherwise. Usually it is because the MEM_STATS feature is not enabled.
|
||||
*/
|
||||
bool
|
||||
jerry_get_memory_stats (jerry_heap_stats_t *out_stats_p) /**< [out] heap memory stats */
|
||||
{
|
||||
#ifdef JMEM_STATS
|
||||
if (out_stats_p == NULL)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
jmem_heap_stats_t jmem_heap_stats = {0};
|
||||
jmem_heap_get_stats (&jmem_heap_stats);
|
||||
|
||||
*out_stats_p = (jerry_heap_stats_t)
|
||||
{
|
||||
.version = 1,
|
||||
.size = jmem_heap_stats.size,
|
||||
.allocated_bytes = jmem_heap_stats.allocated_bytes,
|
||||
.peak_allocated_bytes = jmem_heap_stats.peak_allocated_bytes
|
||||
};
|
||||
|
||||
return true;
|
||||
#else
|
||||
JERRY_UNUSED (out_stats_p);
|
||||
return false;
|
||||
#endif
|
||||
} /* jerry_get_memory_stats */
|
||||
|
||||
/**
|
||||
* Simple Jerry runner
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user