void insertRootInfos()

in src/roots/paths_to_closest_gc_roots.cpp [148:164]


    void insertRootInfos(jlong referee, std::unordered_map<jlong, std::vector<ReferenceInfo *>> &tagToInfos) {
        std::vector<ReferenceInfo *> *pInfos;
        auto it = tagToInfos.find(referee);
        if (it == tagToInfos.end()) {
            tagToInfos[referee] = std::vector<ReferenceInfo *>();
            pInfos = &tagToInfos[referee];
        } else {
            pInfos = &it->second;
        }

        GcTag *tag = GcTag::pointerToGcTag(referee);
        for (ReferenceInfo *info : tag->backRefs) {
            if (info->getTag() == -1) {
                pInfos->push_back(info);
            }
        }
    }