[Webkit-unassigned] [Bug 235027] [JSC][ARMv7] Cleanup GPR numbering
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Mar 28 09:42:58 PDT 2022
https://bugs.webkit.org/show_bug.cgi?id=235027
--- Comment #11 from Yusuke Suzuki <ysuzuki at apple.com> ---
(In reply to Geza Lore from comment #10)
> (In reply to Yusuke Suzuki from comment #8)
>
> > > Source/JavaScriptCore/llint/LLIntData.h:398
> > > +#if CPU(ARM_THUMB2)
> > > + static constexpr GPRReg pcGPR = ARMRegisters::r8;
> > > +#else
> > > static constexpr GPRReg pcGPR = GPRInfo::regT4;
> > > +#endif
> >
> > We should use regT4 in all architectures.
>
> Why is this important? (this change is what allows us LLInt t4 !==
> GPRInfo::regT4)
>
>
> More generally what is the relevance of LLInt vs GPRInfo numbering of
> temporaries? (CSRs are the right way around)
>
>
> Ideally, on ARM_THUMB2, we want GPRInfo::regT4 (and also GPRInfo::regT5) to
> be something less than ARMRegisters::r8 for code size (otherwise the
> zillions of ifdefs come back and is pretty hard to get right unless you are
> very conscious). This is an important saving in baseline code size (5-10%).
> And ideally we also want the LLInt PC to be higher or same than r8, as it's
> not frequently used, so we can keep the cheaper registers for other use.
> This is what the current patch does.
>
> If GPRInfo::regT4 must absolutely be the same as LLInt t4, I will change
> llint t4 to ARMRegisters::r4 as well, but that is sacrificing the llint code
> size/performance for the JIT. I would like to have both if I can.
Because offlineasm is also used as an assembler to create a asm functions.
And these code strongly assumes t4 is GPRInfo::regT4 to make it aligned to online assembler.
So, we must ensure regT4 is t4 in offlineasm.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220328/b1ed5508/attachment-0001.htm>
More information about the webkit-unassigned
mailing list