[webkit-reviews] review denied: [Bug 49432] Support JIT_OPTIMIZE_MOD on Thumb-2 : [Attachment 73721] Support JIT_OPTIMIZE_MOD on Thumb-2
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Nov 19 20:45:16 PST 2010
Gavin Barraclough <barraclough at apple.com> has denied Gabor Loki
<loki at webkit.org>'s request for review:
Bug 49432: Support JIT_OPTIMIZE_MOD on Thumb-2
https://bugs.webkit.org/show_bug.cgi?id=49432
Attachment 73721: Support JIT_OPTIMIZE_MOD on Thumb-2
https://bugs.webkit.org/attachment.cgi?id=73721&action=review
------- Additional Comments from Gavin Barraclough <barraclough at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=73721&action=review
Hey Loki,
Looks like a great patch, a couple of small issues.
> JavaScriptCore/jit/JITOpcodes32_64.cpp:1719
> +#if CPU(ARM_THUMB2)
> + RegisterID regS0 = ARMRegisters::r6;
> + RegisterID regS1 = ARMRegisters::r7;
> +#endif
I'm not sure about defining these register names up here. Currently all
registers used by the JIT are effectively documented in JSInterfaceJIT.h, if
someone wants to use a register they have one place to go look to see if it is
used by the JIT, needs preserving in the entry trampolines, etc. My concern is
that a developer won't know to come look here to discover these registers are
used. I think it would be better to add definitions for regT5 & regT6 in
JSInterfaceJIT.h, for ARM & ARMv7.
> JavaScriptCore/assembler/MacroAssemblerARMv7.h:226
> + void clz(RegisterID src, RegisterID dest)
> + {
> + m_assembler.clz(dest, src);
> + }
I'm not sure about this method. The first question is should this be in the
MacroAssembler interface at all? - do we believe it can be usefully abstracted
across a range of platforms? – x86's BSR has somewhat different semantics, so
I'm not sure we'll want to generally use this call in a cross platform way -
but maybe we'd abstract like this (I find BSR a little weird to use), so I'm
inclined to lean towards yes, keep this here (the alternative being to just
call to m_assembler.clz directly). But if we keep this, the name should
change. At minimum the operation size should be encoded in the name - clz32()
(the name clz is correct at the assembler layer, this is just for the
MacroAssemlber layer). But coding style ask us to steer clear on acronyms &
abbreviations (unless they're particularly standard and conventional), and I
think we should probably change clz32 to something more explicit - like
countLeadingZeros32(). What do you think?
r+ with these changes, r-ing this patch.
cheers,
G.
More information about the webkit-reviews
mailing list