Bug 242417

Summary: Insert break instructions in the LLInt asm to ensure that some global labels are not aliased.
Product: WebKit Reporter: Mark Lam <mark.lam>
Component: JavaScriptCoreAssignee: Mark Lam <mark.lam>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, keith_miller, msaboff, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
EWS testing. none

Description Mark Lam 2022-07-06 19:44:47 PDT
This is needed because the linker may not handle aliased global labels (multiple global labels pointing to the same location) well.

To achieve this, we also remove the hacks in offlineasm's enterAsm and leaveAsm functions that use to add the _llintPCRangeStart and _llintPCRangeEnd labels.  Instead, we'll add them explicitly in LowLevelInterpreter.asm.  This allows us to easily append a break instruction after _llintPCRangeEnd.
Comment 1 Mark Lam 2022-07-06 19:45:18 PDT
<rdar://problem/94232529>
Comment 2 Mark Lam 2022-07-06 19:48:40 PDT
Created attachment 460728 [details]
EWS testing.
Comment 3 Mark Lam 2022-07-06 20:44:58 PDT
Pull request: https://github.com/WebKit/WebKit/pull/2149
Comment 4 EWS 2022-07-07 08:23:09 PDT
Committed 252214@main (98df1786d72c): <https://commits.webkit.org/252214@main>

Reviewed commits have been landed. Closing PR #2149 and removing active labels.