[Webkit-unassigned] [Bug 278488] New: [WTF] Transition HashMap to safe by default on release builds

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 21 14:11:43 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=278488

            Bug ID: 278488
           Summary: [WTF] Transition HashMap to safe by default on release
                    builds
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Misc.
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: zakr at apple.com
                CC: webkit-bug-importer at group.apple.com

We should have WTF HashMap be safe by running `checkKey()`, by default on the HashMap API, as well as on the underlying HashTable container. This bug is for tracking step 1 of this transition.

Transition plan/process:
- Add a template parameter (ShouldValidateKey::Yes/No) for `HashTable` and `HashMap`, with default being Yes in release builds as well.
- Elevate ASSERTs to RELEASE asserts based on this conditional for release builds.
- Activate key validation in WebKit (excluding WebCore and JSC for this step)
- Monitor performance impact
- Transition HashSet and other Hash* types to this structure
- Turn off key validation on hot paths on a case by case basis, to preserve performance in the engine.

Open to suggestions.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240821/22de7b99/attachment-0001.htm>


More information about the webkit-unassigned mailing list