Thanks you all for the hard work! Huge congrats! On Tue, Sep 21, 2021, 12:41 AM Kentaro Hara <hara...@chromium.org> wrote:
> Finally done!! Congratulations 😊 > > 2021年9月21日(火) 5:38 Jeremy Roman <jbro...@chromium.org>: > >> Awesome news! >> >> On Mon, Sep 20, 2021 at 1:54 PM Michael Lippautz <mlippa...@chromium.org> >> 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 <bikin...@chromium.org> and @Omer >>> Katz <omerk...@chromium.org> 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: >>> - oilpan-...@chromium.org >>> - 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 platform-architecture-dev+unsubscr...@chromium.org. >>> 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> >>> . >>> >> -- >> 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 platform-architecture-dev+unsubscr...@chromium.org. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CACuR13d25DEZY4pS2qtFx9BRKidQt9E_nrBtNfhrEtyETk4iWQ%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CACuR13d25DEZY4pS2qtFx9BRKidQt9E_nrBtNfhrEtyETk4iWQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > -- > v8-dev mailing list > v8-dev@googlegroups.com > 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 v8-dev+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-dev/CABg10jzS28i6QODdKCiY5R1L9iwOeKGSSb2%2By%2BapDhZGe-2rxA%40mail.gmail.com > <https://groups.google.com/d/msgid/v8-dev/CABg10jzS28i6QODdKCiY5R1L9iwOeKGSSb2%2By%2BapDhZGe-2rxA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- -- v8-dev mailing list v8-dev@googlegroups.com 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 v8-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAKEgpyENjLF9y7dqPUFiCs%3D702239_WbsnHfd8Z%3D-YnvW8F4%3Dw%40mail.gmail.com.