Bug 242417 - Insert break instructions in the LLInt asm to ensure that some global labels are not aliased.
Summary: Insert break instructions in the LLInt asm to ensure that some global labels ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-07-06 19:44 PDT by Mark Lam
Modified: 2022-07-07 08:23 PDT (History)
6 users (show)

See Also:


Attachments
EWS testing. (3.31 KB, patch)
2022-07-06 19:48 PDT, Mark Lam
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.