[Webkit-unassigned] [Bug 240209] New: Force PAS_ASSERT to generate different crash sites for each crash.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat May 7 14:40:30 PDT 2022


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

            Bug ID: 240209
           Summary: Force PAS_ASSERT to generate different crash sites for
                    each crash.
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mark.lam at apple.com

Clang currently optimizes all crash sites into one in each function.  Hence, if we get a crash address at the 1 crash site, we don't know which failed assertion got us there.  This patch uses an asm statement to force Clang to emit a different crash site for each assertion.

Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.

Size-wise, there is some increase.  The following is the "size" output on JavaScriptCore on M1:

      __TEXT.   __DATA  __OBJC  others    dec       hex
old   19628032  180224  0       18792448  38600704  24d0000
new   19644416  180224  0       19251200  39075840  2544000

diff  16384     0       0       458752    475136

The increase in the "others" categories are mostly in the String Table, Symbol Table, and Function Start Addresses.  These take up disk space but should not impact RAM usage unless they are accessed by a a debugger.

-- 
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/20220507/c5204092/attachment.htm>


More information about the webkit-unassigned mailing list