[webkit-reviews] review granted: [Bug 133955] css jit should not save callee saved registers : [Attachment 234001] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 27 12:56:16 PDT 2014


Geoffrey Garen <ggaren at apple.com> has granted Alex Christensen
<achristensen at apple.com>'s request for review:
Bug 133955: css jit should not save callee saved registers
https://bugs.webkit.org/show_bug.cgi?id=133955

Attachment 234001: Patch
https://bugs.webkit.org/attachment.cgi?id=234001&action=review

------- Additional Comments from Geoffrey Garen <ggaren at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=234001&action=review


r=me

> Source/WebCore/cssjit/SelectorCompiler.cpp:1442
>      // FIXME: We should look into doing something smart in MacroAssembler
instead.
>      Assembler::Address flagAddress(childStyle,
RenderStyle::noninheritedFlagsMemoryOffset() +
RenderStyle::NonInheritedFlags::flagsMemoryOffset());
>  #if CPU(ARM_THUMB2)
> -    m_assembler.or32(Assembler::TrustedImm32(newFlag & 0xffffffff),
flagAddress);
> -    Assembler::Address flagHighBits = flagAddress.withOffset(4);
> -    m_assembler.or32(Assembler::TrustedImm32(newFlag >> 32), flagHighBits);
> +    int32_t flagLowBits = newFlag & 0xffffffff;
> +    int32_t flagHighBits = newFlag >> 32;
> +    if (flagLowBits)
> +	   m_assembler.or32(Assembler::TrustedImm32(flagLowBits), flagAddress);

> +    if (flagHighBits) {
> +	   Assembler::Address flagHighAddress = flagAddress.withOffset(4);
> +	   m_assembler.or32(Assembler::TrustedImm32(flagHighBits),
flagHighAddress);
> +    }

A good optimization, but probably better as a separate patch, since the topic
is not related to register saving.


More information about the webkit-reviews mailing list