RESOLVED FIXED 133834
make RegisterAllocator smarter
https://bugs.webkit.org/show_bug.cgi?id=133834
Summary make RegisterAllocator smarter
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.