| Summary: | Add a Thread Specific Cache for LinkBuffer::CompactAndLinkCode() | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Michael Saboff <msaboff> | ||||||
| Component: | JavaScriptCore | Assignee: | Michael Saboff <msaboff> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | ews-watchlist, keith_miller, mark.lam, saam, tzagallo, webkit-bug-importer | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | Other | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 212825 | ||||||||
| Attachments: |
|
||||||||
|
Description
Michael Saboff
2020-06-04 11:15:32 PDT
Created attachment 401051 [details]
Patch
Comment on attachment 401051 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401051&action=review r=me > Source/JavaScriptCore/assembler/LinkBuffer.cpp:125 > +typedef ThreadSpecific<BranchCompactionLinkBuffer, WTF::CanBeGCThread::True> ThreadSpecificBranchCompactionLinkBuffer; nit: "using" instead of "typedef" > Source/JavaScriptCore/assembler/LinkBuffer.cpp:201 > + uint8_t* m_data; > + size_t m_size; nit: you can give these fields default values so you don't have to initialize them in 2 different ctors > Source/JavaScriptCore/assembler/LinkBuffer.cpp:232 > + BranchCompactionLinkBuffer outBuffer(m_size); can we do the FAST_JIT_PERMISSIONS&&arm64e path above in a runtime supported way for other devices too? Seems purely better than this, since it doesn't require a side buffer. There are a few arm64 devices that at runtime support APRR Maybe as a follow-up in a separate patch Created attachment 401067 [details] Patch for landing > > Source/JavaScriptCore/assembler/LinkBuffer.cpp:125 > > +typedef ThreadSpecific<BranchCompactionLinkBuffer, WTF::CanBeGCThread::True> ThreadSpecificBranchCompactionLinkBuffer; > > nit: "using" instead of "typedef" Done. > > Source/JavaScriptCore/assembler/LinkBuffer.cpp:201 > > + uint8_t* m_data; > > + size_t m_size; > > nit: you can give these fields default values so you don't have to > initialize them in 2 different ctors Done. Committed r262591: <https://trac.webkit.org/changeset/262591> |