• Raymond Hettinger's avatar
    Improved the bytecode optimizer. · 060641d5
    Raymond Hettinger yazdı
    * Can now test for basic blocks.
    * Optimize inverted comparisions.
    * Optimize unary_not followed by a conditional jump.
    * Added a new opcode, NOP, to keep code size constant.
    * Applied NOP to previous transformations where appropriate.
    
    Note, the NOP would not be necessary if other functions were
    added to re-target jump addresses and update the co_lnotab mapping.
    That would yield slightly faster and cleaner bytecode at the
    expense of optimizer simplicity and of keeping it decoupled
    from the line-numbering structure.
    060641d5
opcode.py 5 KB