Skip to content
  • Damien George's avatar
    py, compiler: Remove emit_pass1 code, using emit_bc to do its job. · a210c774
    Damien George authored
    First pass for the compiler is computing the scope (eg if an identifier
    is local or not) and originally had an entire table of methods dedicated
    to this, most of which did nothing.  With changes from previous commit,
    this set of methods can be removed and the methods from the bytecode
    emitter used instead, with very little modification -- this is what is
    done in this commit.
    
    This factoring has little to no impact on the speed of the compiler
    (tested by compiling 3763 Python scripts and timing it).
    
    This factoring reduces code size by about 270-300 bytes on Thumb2 archs,
    and 400 bytes on x86.
    a210c774