Finally done!! Congratulations 😊 2021年9月21日(火) 5:38 Jeremy Roman <[email protected]>:
> 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> >> . >> > -- > 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/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 [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/CABg10jzS28i6QODdKCiY5R1L9iwOeKGSSb2%2By%2BapDhZGe-2rxA%40mail.gmail.com.
