Bug 133834

Summary: make RegisterAllocator smarter
Product: WebKit Reporter: Alex Christensen <achristensen>
Component: CSSAssignee: Alex Christensen <achristensen>
Status: RESOLVED FIXED    
Severity: Enhancement CC: benjamin, commit-queue
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch
none
Patch none

Alex Christensen
Reported 2014-06-12 17:52:35 PDT
The register allocator should not use a hash set for the few registers it keeps track of. It should use a deque to cycle the register usage, and it should also have a way to indicate a preferred register to allocate.
Attachments
Patch (11.24 KB, patch)
2014-06-12 18:05 PDT, Alex Christensen
no flags
Patch (11.29 KB, patch)
2014-06-13 13:55 PDT, Alex Christensen
no flags
Alex Christensen
Comment 1 2014-06-12 18:05:36 PDT
Benjamin Poulain
Comment 2 2014-06-13 12:54:55 PDT
Comment on attachment 233013 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=233013&action=review Very neat! I love it. > Source/WebCore/cssjit/RegisterAllocator.h:93 > + RELEASE_ASSERT(m_registers.size()); I think you should put this assertion one line above. Otherwise it looks a little weird accessing the first element before checking if the size is valid. > Source/WebCore/cssjit/RegisterAllocator.h:113 > + JSC::MacroAssembler::RegisterID allocateRegisterWithPreference(JSC::MacroAssembler::RegisterID registerID) registerID -> preferedRegisterID? > Source/WebCore/cssjit/RegisterAllocator.h:115 > + UNUSED_PARAM(registerID); Forgot this? > Source/WebCore/cssjit/RegisterAllocator.h:133 > + for (auto reg : m_registers) reg -> register
Alex Christensen
Comment 3 2014-06-13 13:55:52 PDT
WebKit Commit Bot
Comment 4 2014-06-13 15:27:22 PDT
Comment on attachment 233072 [details] Patch Clearing flags on attachment: 233072 Committed r169953: <http://trac.webkit.org/changeset/169953>
WebKit Commit Bot
Comment 5 2014-06-13 15:27:24 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.