[Webkit-unassigned] [Bug 114811] LLInt ARM backend should not use the d8 register as scratch register

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 13 02:27:13 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=114811





--- Comment #9 from SangGyu Lee <sg5.lee at samsung.com>  2013-05-13 02:25:38 PST ---
Hello, Benjamin Poulain 

> In WebKit, we care about:
> -bug report with the best patch.
> -bug report with the best info.

> The order in which bugs are reported does not matter. We dupe backward or 
> forward to the best bug report.

What do you mean by "best patch" or "best info"?

Do you mean followings?

1) I didn't make my suggested patch as attached patch.
2) I didn't request to reviewer more aggressively (by using IRC or by sending mail again and again)

I cannot find the difference between mine and this one:

title(114495-mine): LLInt should not use d8 register as scratch register
title(114811-this): LLInt ARM backend should not use the d8 register as scratch register 

and here is my bug report:

Currently, LLInt uses d8 register as scratch register as followings:

ARM_SCRATCH_FPR = SpecialRegister.new("d8")    in arm.rb
C_LOOP_SCRATCH_FPR = SpecialRegister.new("d8") in cloop.rb

However, AAPCS §5.1.2.1 says

Registers s16-s31 (d8-d15, q4-q7) must be preserved across subroutine calls; registers s0-s15 (d0-d7, q0-q3) do not need to be preserved (and can be used for passing arguments or returning results in standard procedure-call variants). Registers d16-d31 (q8-q15), if present, do not need to be preserved.

Therefore it should not use d8 for that purpose.

I think it would be safe to use d6.
(Register d7 is already in use for other purpose. )

ARM_SCRATCH_FPR = SpecialRegister.new("d6")    in arm.rb
C_LOOP_SCRATCH_FPR = SpecialRegister.new("d6") in cloop.rb

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list