pub(crate) fn gen_sym_to_proc_iseq(globals: &mut Globals, method: IdentId) -> FnId {
        let id = globals.methods.add(MethodInfo::default());
        let mut iseq = ISeq::new();
        let mut iseq_sourcemap = vec![];
        iseq.push(Inst::GET_LOCAL);
        iseq.push32(0);
        iseq_sourcemap.push((iseq.current(), Loc(0, 0)));
        iseq.push(Inst::OPT_SEND);
        iseq.push32(method.into());
        iseq.push16(0);
        iseq.push_method(None);
        iseq.push32(globals.methods.add_inline_cache_entry());
        iseq.gen_return();

        let info = MethodInfo::RubyFunc {
            iseq: ISeqRef::new(ISeqInfo::new_sym_to_proc(
                id,
                iseq,
                iseq_sourcemap,
                SourceInfoRef::new(SourceInfo {
                    path: std::path::PathBuf::from("(eval)"),
                    code: "".to_string(),
                }),
            )),
        };
        globals.methods.update(id, info);
        id
    }
Generate ISeq for sym.to_proc.
this function make iseq mostly equivalent to {|x| x.method}.
ruruby/src/codegen.rs