I saw this effectively as a cleanup project, with as much staffing/prioritisation as, say, TNodification. If you have spare headcount to offer for this I'll gladly take it :)
The end state I would suggest, is to replace all uses of std::*map with absl, and try to replace our base::TemplateHashMap with it too, turning the former into a thin wrapper over the other. Also, replace any other relevant base implementations with equivalent absl ones where applicable, with transitional aliases in the base namespace. An example here would be base::Optional and a couple of the template traits, like, say, conjunction and disjunction. Using aliases and turning existing containers into thin wrappers should reduce the binary size impact, and then inlining those aliases can be done reasonably ad hoc, or in cleanup Fridays. How does that sound? - Leszek On Fri, 16 Oct 2020, 19:18 Adam Klein, <[email protected]> wrote: > What's the full transition plan here? We've done several adhoc transitions > between different containers in the past, leaving us currently with a mix > of hand-rolled and STL containers. While Abseil seems like it has some > definite advantages, it seems like it'd be ideal, both for code size > reasons and for uniformity across CL authors & reviewers if there was some > agreed-upon end state, at least. Ideally there'd even be a staffed, > prioritized effort to get us from the current state to some future state. > > - Adam > > On Tue, Oct 13, 2020 at 11:46 PM Leszek Swirski <[email protected]> > wrote: > >> Hi all, >> >> I'm planning on adding Abseil as a dependency in V8, to get rid of some >> of our hand-rolled base classes and (hopefully) reap the advantages of >> those engineers' work. An example use would be changing our hand-rolled >> hashmap to a thin wrapper over absl::flat_hash_map/set: >> https://chromium-review.googlesource.com/c/v8/v8/+/2464941 >> >> This plan is unofficially lgtm'ed by Chromium C++ folks - any objections >> from our side? >> >> Cheers, >> Leszek >> >> -- >> -- >> v8-dev mailing list >> [email protected] >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/v8-dev/CAGRskv_mgj%2BnH5SHa6m%2Bgsq9U3ZLRwZphzY8zhd_y67jxfbBdg%40mail.gmail.com >> <https://groups.google.com/d/msgid/v8-dev/CAGRskv_mgj%2BnH5SHa6m%2Bgsq9U3ZLRwZphzY8zhd_y67jxfbBdg%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-dev/CAEvLGcKVpUsVH2ifAUzX0wAN2dgYaPDNoVixVW-%2B%2BYZkOT3o7w%40mail.gmail.com > <https://groups.google.com/d/msgid/v8-dev/CAEvLGcKVpUsVH2ifAUzX0wAN2dgYaPDNoVixVW-%2B%2BYZkOT3o7w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAGRskv_0835CMHLEfOs_jzgRjHtfj08SCq6JjLWXx0LubKSZfQ%40mail.gmail.com.
