pub fn find_method(&mut self, rec_class: Module, method_name: IdentId) -> Option<FnId> {
        #[cfg(feature = "perf-method")]
        self.perf.inc_total();
        let cur_version = self.class_version;
        if let Some(fid) = self.m_cache.get_entry(rec_class, cur_version, method_name) {
            return Some(fid);
        };
        #[cfg(feature = "perf-method")]
        self.perf.inc_missed();
        match rec_class.search_method(method_name) {
            Some(info) => {
                let fid = info.fid();
                self.m_cache
                    .add_entry(rec_class, method_name, cur_version, fid);
                Some(fid)
            }
            None => None,
        }
    }
Get corresponding instance method(MethodId) for the class object `class` and `method`.

If an entry for `class` and `method` exists in global method cache and the entry is not outdated,
return MethodId of the entry.
If not, search `method` by scanning a class chain.
`class` must be a Class.
ruruby/src/globals/method.rs