[webkit-reviews] review granted: [Bug 133952] fix css jit register usage on armv7 : [Attachment 233180] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jun 16 17:45:35 PDT 2014
Benjamin Poulain <benjamin at webkit.org> has granted Alex Christensen
<achristensen at apple.com>'s request for review:
Bug 133952: fix css jit register usage on armv7
https://bugs.webkit.org/show_bug.cgi?id=133952
Attachment 233180: Patch
https://bugs.webkit.org/attachment.cgi?id=233180&action=review
------- Additional Comments from Benjamin Poulain <benjamin at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=233180&action=review
> Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:1423
> - load32(left, dataTempRegister);
> - return branch32(cond, dataTempRegister, right);
> + // use addressTempRegister incase the branch32 we call uses
dataTempRegister. :-/
> + load32(left, addressTempRegister);
> + return branch32(cond, addressTempRegister, right);
I don't get this. We know exactly which branch32() we want to use (Jump
branch32(RelationalCondition cond, RegisterID left, RegisterID right)). What am
I missing?
> Source/WebCore/cssjit/SelectorCompiler.cpp:1096
> + // r6 is tempRegister in RegisterAllocator.h and addressTempRegister in
MacroAssemblerARMv7.h and must be preserved by the callee.
> + prologueRegisters.append(JSC::ARMRegisters::r6);
I did not think of that. One more reason I hate the registers implicitly used
by the MacroAssembler.
More information about the webkit-reviews
mailing list