Making this a cleanup project makes sense (no, I don't have headcount to allot here), but thanks for making that explicit. Ideally this could be documented somewhere too.
This plan sounds reasonable to me (and your base::Optional alias CL <https://chromium-review.googlesource.com/c/v8/v8/+/2476318> is a nice proof-of-concept). The other thing implicit in my question was: is there buy-in for this approach across the various areas in V8? I don't ask that everyone sign off, but I would like to offer the opportunity for folks to weigh-in if they have opinions (especially since I suspect not everyone follows v8-dev@ closely). I've CCed the relevant folks on this thread. - Adam On Fri, Oct 16, 2020 at 10:56 AM Leszek Swirski <[email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/v8-dev/CAGRskv_0835CMHLEfOs_jzgRjHtfj08SCq6JjLWXx0LubKSZfQ%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/CAEvLGc%2BqyeTE21GT-a2qUP5T02Gd8VX%3D92wOc_pC85FaSDLUHQ%40mail.gmail.com.
