Status update on MiraclePtr

350 views
Skip to first unread message

Bartek Nowierski

unread,
Apr 3, 2024, 8:10:18 AM4/3/24
to memory-safety-dev, Arthur Sonzogni, Keishi Hattori, Ali Hijazi, Justin Cohen, Kalvin Lee, Bartek Nowierski, Łukasz Anforowicz, Tom Sepez, Sergei Glazunov
Hello everyone,

The status at the end of the last years was that we supported MiraclePtr in all non-Renderer processes on Windows, Android, WebView, ChromeOS, Lacros, macOS and Linux. We targeted class/struct fields that are pointers (by rewriting them to raw_ptr) and references (raw_ref) in the Chromium and PDFium code.

We wanted to give you an update on our MiraclePtr expansion efforts over the last few months:
- To protect WebGPU, we rewrote third_party/dawn to use raw_ptr&raw_ref. third_party/skia is next in line.
- The clang rewriter supports pointers in most templated collections. We rewrote std::vector, std::set, std::map (value only), std::list, std::unordered_set, base::flat_set, std::queue (and more to come).
- We're currently working hard on enabling MiraclePtr in Renderer processes. We just want to make sure that performance isn't affected.
- The work on iOS support has started.
- Lastly, we're working on individual workitems in this umbrella bug crbug.com/331840474 which gathers pointers that we missed or the rewriter couldn't tackle automatically.


Best regards!


Reply all
Reply to author
Forward
0 new messages