Direct alloc/dealloc implementations for ecma_number_t (#2377)
As a result of earlier developments, there remained no other instatiations of the `ALLOC`, `DEALLOC`, and `DECLARE_ROUTINES_FOR` templates. So, it's simpler to write the alloc/dealloc routines directly for `ecma_number_t` as well. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
This commit is contained in:
@@ -51,36 +51,24 @@ JERRY_STATIC_ASSERT (sizeof (ecma_extended_object_t) - sizeof (ecma_object_t) <=
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Template of an allocation routine.
|
* Allocate memory for ecma-number
|
||||||
|
*
|
||||||
|
* @return pointer to allocated memory
|
||||||
*/
|
*/
|
||||||
#define ALLOC(ecma_type) ecma_ ## ecma_type ## _t * \
|
ecma_number_t *
|
||||||
ecma_alloc_ ## ecma_type (void) \
|
ecma_alloc_number (void)
|
||||||
{ \
|
{
|
||||||
ecma_ ## ecma_type ## _t *ecma_type ## _p; \
|
return (ecma_number_t *) jmem_pools_alloc (sizeof (ecma_number_t));
|
||||||
ecma_type ## _p = (ecma_ ## ecma_type ## _t *) jmem_pools_alloc (sizeof (ecma_ ## ecma_type ## _t)); \
|
} /* ecma_alloc_number */
|
||||||
\
|
|
||||||
JERRY_ASSERT (ecma_type ## _p != NULL); \
|
|
||||||
\
|
|
||||||
return ecma_type ## _p; \
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deallocation routine template
|
* Dealloc memory from an ecma-number
|
||||||
*/
|
*/
|
||||||
#define DEALLOC(ecma_type) void \
|
void
|
||||||
ecma_dealloc_ ## ecma_type (ecma_ ## ecma_type ## _t *ecma_type ## _p) \
|
ecma_dealloc_number (ecma_number_t *number_p) /**< number to be freed */
|
||||||
{ \
|
{
|
||||||
jmem_pools_free ((uint8_t *) ecma_type ## _p, sizeof (ecma_ ## ecma_type ## _t)); \
|
jmem_pools_free ((uint8_t *) number_p, sizeof (ecma_number_t));
|
||||||
}
|
} /* ecma_dealloc_number */
|
||||||
|
|
||||||
/**
|
|
||||||
* Declaration of alloc/free routine for specified ecma-type.
|
|
||||||
*/
|
|
||||||
#define DECLARE_ROUTINES_FOR(ecma_type) \
|
|
||||||
ALLOC (ecma_type) \
|
|
||||||
DEALLOC (ecma_type)
|
|
||||||
|
|
||||||
DECLARE_ROUTINES_FOR (number)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate memory for ecma-object
|
* Allocate memory for ecma-object
|
||||||
|
|||||||
Reference in New Issue
Block a user