Summary: | AssemblyHelpersSpoolers: use load/store pair on ARMv7 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Angelos Oikonomopoulos <angelos> | ||||||||||||||
Component: | New Bugs | Assignee: | Angelos Oikonomopoulos <angelos> | ||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||
Severity: | Normal | CC: | ews-watchlist, glore, keith_miller, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer, zan | ||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||
OS: | Unspecified | ||||||||||||||||
Attachments: |
|
Description
Angelos Oikonomopoulos
2022-01-12 06:19:44 PST
Created attachment 448939 [details]
Patch
Created attachment 449044 [details]
Patch
Created attachment 449054 [details]
Patch
Created attachment 449322 [details]
Patch
Comment on attachment 449322 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=449322&action=review > Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:922 > + ASSERT(src1 != src2); This assertion is not necessary. Storing the same register twice is well defined, and works with storePair32. Created attachment 449333 [details]
Patch
(In reply to Geza Lore from comment #5) > Comment on attachment 449322 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=449322&action=review > > > Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:922 > > + ASSERT(src1 != src2); > > This assertion is not necessary. Storing the same register twice is well > defined, and works with storePair32. Ah. Removed, thanks! Ping. Comment on attachment 449333 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=449333&action=review > Source/JavaScriptCore/jit/AssemblyHelpersSpoolers.h:284 > +#if !(CPU(ARM64) || CPU(ARM)) > + if constexpr (hasPairOp) > RELEASE_ASSERT_NOT_REACHED(); // unsupported architecture. > +#endif Honestly unguarded constexpr with additional `&& !isARM()` (if it existed) would be nicer. Created attachment 453963 [details]
Patch
(In reply to Zan Dobersek from comment #10) > Comment on attachment 449333 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=449333&action=review > > > Source/JavaScriptCore/jit/AssemblyHelpersSpoolers.h:284 > > +#if !(CPU(ARM64) || CPU(ARM)) > > + if constexpr (hasPairOp) > > RELEASE_ASSERT_NOT_REACHED(); // unsupported architecture. > > +#endif > > Honestly unguarded constexpr with additional `&& !isARM()` (if it existed) > would be nicer. Makes sense. Added and used. Committed r290907 (248137@main): <https://commits.webkit.org/248137@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 453963 [details]. |