Print ERR_MEMORY on stack
This commit is contained in:
@@ -101,6 +101,30 @@ do { \
|
|||||||
NAME.length = NAME.current = 0; \
|
NAME.length = NAME.current = 0; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
#ifdef JERRY_NDEBUG
|
||||||
|
#define DEFINE_INCREASE_STACK_SIZE(NAME, TYPE) \
|
||||||
|
static void increase_##NAME##_stack_size (void) __unused; \
|
||||||
|
static void \
|
||||||
|
increase_##NAME##_stack_size (void) { \
|
||||||
|
if (NAME.current == NAME.length && ((NAME##_linked_list *) NAME.last)->next == NULL) \
|
||||||
|
{ \
|
||||||
|
size_t temp_size = mem_heap_recommend_allocation_size ((size_t) (sizeof (NAME##_linked_list))); \
|
||||||
|
JERRY_ASSERT ((temp_size-sizeof (NAME##_linked_list)) / sizeof (TYPE) == NAME.block_len); \
|
||||||
|
NAME##_linked_list *temp = (NAME##_linked_list *) mem_heap_alloc_block ( \
|
||||||
|
temp_size, MEM_HEAP_ALLOC_SHORT_TERM); \
|
||||||
|
if (temp == NULL) \
|
||||||
|
{ \
|
||||||
|
jerry_exit (ERR_MEMORY); \
|
||||||
|
} \
|
||||||
|
__memset (temp, 0, temp_size); \
|
||||||
|
((NAME##_linked_list *) NAME.last)->next = temp; \
|
||||||
|
temp->prev = (NAME##_linked_list *) NAME.last; \
|
||||||
|
NAME.last = (uint8_t *) temp; \
|
||||||
|
NAME.length = (NAME##_stack_data_type) (NAME.length + NAME.block_len); \
|
||||||
|
} \
|
||||||
|
NAME.current = (NAME##_stack_data_type) (NAME.current + 1); \
|
||||||
|
}
|
||||||
|
#else
|
||||||
#define DEFINE_INCREASE_STACK_SIZE(NAME, TYPE) \
|
#define DEFINE_INCREASE_STACK_SIZE(NAME, TYPE) \
|
||||||
static void increase_##NAME##_stack_size (void) __unused; \
|
static void increase_##NAME##_stack_size (void) __unused; \
|
||||||
static void \
|
static void \
|
||||||
@@ -124,6 +148,7 @@ increase_##NAME##_stack_size (void) { \
|
|||||||
} \
|
} \
|
||||||
NAME.current = (NAME##_stack_data_type) (NAME.current + 1); \
|
NAME.current = (NAME##_stack_data_type) (NAME.current + 1); \
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DEFINE_DECREASE_STACE_SIZE(NAME, TYPE) \
|
#define DEFINE_DECREASE_STACE_SIZE(NAME, TYPE) \
|
||||||
static void decrease_##NAME##_stack_size (void) __unused; \
|
static void decrease_##NAME##_stack_size (void) __unused; \
|
||||||
|
|||||||
Reference in New Issue
Block a user