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.

Reply via email to