Awesome news!

On Mon, Sep 20, 2021 at 1:54 PM Michael Lippautz <[email protected]>
wrote:

> Hey everyone -
>
> The library allows *Oilpan* (previously known as Blink's garbage
> collector) *to be used as a stand-alone garbage collector for **C++** or
> together with V8 where it is part of the C++/JavaScript unified heap*.
> Both scenarios are already covered with the usage in Blink (together with
> V8) and PDFium (*new stand-alone C++ collector*; not yet launched). The
> flag switching from Oilpan in Blink to Oilpan library has been flipped for
> *M94*.
>
> The new library offers a stable API surface
> <https://chromium.googlesource.com/v8/v8.git/+/refs/heads/main/include/cppgc> 
> with
> code comments and examples in code (if we forgot something, please file a
> bug) that follows V8's general API stability process
> <https://v8.dev/docs/api>. This allows fast iteration on implementation
> details and at the same time avoids frequent breakage. The library also
> provides the foundation for new garbage collection optimizations in the
> Blink setting together with JavaScript as it allows for better integration
> with V8 behind the scenes.
>
> Some other highlights:
> - Uses IWYU (API and internally) to avoid pulling in large parts of the
> heap for e.g. just using a managed reference type;
> - Unit tests
> <https://source.chromium.org/chromium/chromium/src/+/main:v8/test/unittests/heap/cppgc/>
> for each individual component in the C++ garbage collector;
> - Test target and a garbage collection playground that builds within
> seconds;
> - More correctness checks that already found issues in existing code;
> - Better tooling around DevTools heap snapshot and more accurate
> accounting in tracing's MemoryInfra
> <https://chromium.googlesource.com/chromium/src/+/HEAD/docs/memory-infra/README.md>
> ;
>
> The summary can also be found as one pager
> <https://docs.google.com/document/d/1Eao6rDBH45BDdtCLsfSCvPUi0JTbjTdzsGk3e_KNs6g/edit#>
> .
>
> The effort (tracking bug
> <https://bugs.chromium.org/p/chromium/issues/detail?id=1056170>) roughly
> took ~1.5 years and involved a lot of user code cleanup as well. Many
> fruitful discussions happened and quite some code was migrated and
> re-written. Thanks @Anton Bikineev <[email protected]> and @Omer Katz
> <[email protected]> for driving the implementation work.
>
> *FAQs:*
> *Q1: Performance?*
> A1: Neutral on competitive benchmarks; smaller ups and downs on micro
> benchmarks. We don't expect big changes as the overall architecture stays
> the same.
>
> *Q2: What does this mean for Blink developers? Anything I need to change
> in my code?*
> A2: We have stayed fully backwards compatible with the API. If we haven't
> touched your code while migrating, you don't need to change anything as of
> now. Going forward we may adjust the APis following V8's API stability
> process. We will keep maintaining the Blink GC API reference
> <https://chromium.googlesource.com/chromium/src/+/main/third_party/blink/renderer/platform/heap/BlinkGCAPIReference.md>,
> although we may move some more general docs closer to the library.
>
> *Q3: What's up with IWYU for Oilpan in Blink?*
> A3: So far we have kept the include-all headers around but we'd like to
> move to IWYU to avoid pulling in too many V8 headers everywhere.
>
> *Q4: Can we use Oilpan within V8 itself?*
> A4: Not just yet. Stay tuned on updates in this area.
>
> Encountering issues, or have suggestions? Let us know:
> - [email protected]
> - Monorail: Blink>GarbageCollection (Chromium), Oilpan (V8)
>
> -Michael
>
> --
> You received this message because you are subscribed to the Google Groups
> "platform-architecture-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/a/chromium.org/d/msgid/platform-architecture-dev/CAH%2BmL5BYuu7zOe29OWc7x1hTef8nb51ZUBz2EkvJuR_2mS_Cig%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CAH%2BmL5BYuu7zOe29OWc7x1hTef8nb51ZUBz2EkvJuR_2mS_Cig%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/CACuR13d25DEZY4pS2qtFx9BRKidQt9E_nrBtNfhrEtyETk4iWQ%40mail.gmail.com.

Reply via email to