Bytecode generation