Bug 237425

Summary: [JSC] Improve reuse of known register values on ARMv7
Product: WebKit Reporter: Angelos Oikonomopoulos <angelos>
Component: New BugsAssignee: Angelos Oikonomopoulos <angelos>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, glore, keith_miller, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer, ysuzuki, zan, zdobersek
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch none

Description Angelos Oikonomopoulos 2022-03-03 06:46:24 PST
[JSC] Improve reuse of known register values on ARMv7
Comment 1 Angelos Oikonomopoulos 2022-03-03 06:57:43 PST
Created attachment 453731 [details]
Patch
Comment 2 Zan Dobersek 2022-03-03 09:42:24 PST
Comment on attachment 453731 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=453731&action=review

> Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:2482
> +    bool absoluteAddressWithinShortOffset(AbsoluteAddress address, CachedTempRegister &cachedRegister, int32_t &offset)

Reference ampersands stick to the left. Maybe this could pack the offset value into a return std::optional<int32_t>.
Comment 3 Angelos Oikonomopoulos 2022-03-04 02:49:53 PST
(In reply to Zan Dobersek from comment #2)
> Comment on attachment 453731 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=453731&action=review
> 
> > Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:2482
> > +    bool absoluteAddressWithinShortOffset(AbsoluteAddress address, CachedTempRegister &cachedRegister, int32_t &offset)
> 
> Reference ampersands stick to the left. Maybe this could pack the offset
> value into a return std::optional<int32_t>.

Good point. I was just following the style of CachedTempRegister.value(), but I guess that predates the adoption of C++17 in the source.
Comment 4 Angelos Oikonomopoulos 2022-03-04 02:51:01 PST
Created attachment 453826 [details]
Patch
Comment 5 EWS 2022-03-04 02:52:56 PST
Zan Dobersek found in /Volumes/Data/worker/Commit-Queue/build/Source/JavaScriptCore/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/worker/Commit-Queue/build/Source/JavaScriptCore/ChangeLog neither lists a valid reviewer nor contains the string "Unreviewed" or "Rubber stamp" (case insensitive).
Comment 6 Angelos Oikonomopoulos 2022-03-04 03:02:18 PST
Created attachment 453827 [details]
Patch
Comment 7 EWS 2022-03-04 05:17:24 PST
Committed r290828 (248064@main): <https://commits.webkit.org/248064@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453827 [details].
Comment 8 Radar WebKit Bug Importer 2022-03-04 05:18:17 PST
<rdar://problem/89809204>