CodeEmitter::CodeEmitter(Session& session, const Instruction& ref_inst) : bblock_(*ref_inst.GetBBlock()), module_(ref_inst.GetBBlock()->GetFunction()->module()), ref_inst_(ref_inst), session_(session) {}