Bug 237425 - [JSC] Improve reuse of known register values on ARMv7
Summary: [JSC] Improve reuse of known register values on ARMv7
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Angelos Oikonomopoulos
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-03-03 06:46 PST by Angelos Oikonomopoulos
Modified: 2022-03-04 05:18 PST (History)
11 users (show)

See Also:


Attachments
Patch (15.37 KB, patch)
2022-03-03 06:57 PST, Angelos Oikonomopoulos
no flags Details | Formatted Diff | Diff
Patch (15.38 KB, patch)
2022-03-04 02:51 PST, Angelos Oikonomopoulos
no flags Details | Formatted Diff | Diff
Patch (15.39 KB, patch)
2022-03-04 03:02 PST, Angelos Oikonomopoulos
no flags Details | Formatted Diff | Diff

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