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.

Reply via email to