From b8f117dd32aae6d2d8108ba101961d00df123e4f Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 2 Jun 2014 19:39:15 +0300 Subject: [PATCH] py: For optimization level -O3 and higher, remove lineno info from bytecode. --- py/emitbc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/py/emitbc.c b/py/emitbc.c index cfaea7c88a..841dd4aabb 100644 --- a/py/emitbc.c +++ b/py/emitbc.c @@ -352,6 +352,10 @@ STATIC void emit_bc_adjust_stack_size(emit_t *emit, int delta) { STATIC void emit_bc_set_source_line(emit_t *emit, int source_line) { //printf("source: line %d -> %d offset %d -> %d\n", emit->last_source_line, source_line, emit->last_source_line_offset, emit->bytecode_offset); #if MICROPY_ENABLE_SOURCE_LINE + if (mp_optimise_value >= 3) { + // If we compile with -O3, don't store line numbers. + return; + } if (source_line > emit->last_source_line) { uint bytes_to_skip = emit->bytecode_offset - emit->last_source_line_offset; uint lines_to_skip = source_line - emit->last_source_line;