lib/utils/pyexec: Condition-out GC calls from pyexec.

A port which uses lib/utils/pyexec.c but which does not enable garbage
collection should not need to implement the gc_collect function.

This patch also moves the gc_collect call to after printing the qstr
info.  Since qstrs cannot be collected it should not make any difference
to the printed statistics.
This commit is contained in:
Colin Hogben 2016-04-18 23:09:25 +01:00 committed by Damien George
parent 97f88eebb6
commit 8aa3cbf153
2 changed files with 4 additions and 5 deletions

View File

@ -34,9 +34,6 @@ int main(int argc, char **argv) {
return 0;
}
void gc_collect(void) {
}
mp_lexer_t *mp_lexer_new_from_file(const char *filename) {
return NULL;
}

View File

@ -110,7 +110,6 @@ STATIC int parse_compile_execute(void *source, mp_parse_input_kind_t input_kind,
if ((exec_flags & EXEC_FLAG_ALLOW_DEBUGGING) && repl_display_debugging_info) {
mp_uint_t ticks = mp_hal_ticks_ms() - start; // TODO implement a function that does this properly
printf("took " UINT_FMT " ms\n", ticks);
gc_collect();
// qstr info
{
mp_uint_t n_pool, n_qstr, n_str_data_bytes, n_total_bytes;
@ -118,8 +117,11 @@ STATIC int parse_compile_execute(void *source, mp_parse_input_kind_t input_kind,
printf("qstr:\n n_pool=" UINT_FMT "\n n_qstr=" UINT_FMT "\n n_str_data_bytes=" UINT_FMT "\n n_total_bytes=" UINT_FMT "\n", n_pool, n_qstr, n_str_data_bytes, n_total_bytes);
}
// GC info
#if MICROPY_ENABLE_GC
// run collection and print GC info
gc_collect();
gc_dump_info();
#endif
}
if (exec_flags & EXEC_FLAG_PRINT_EOF) {