[Webkit-unassigned] [Bug 114495] New: LLInt should not use d8 register as scratch register
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Apr 12 00:12:47 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=114495
Summary: LLInt should not use d8 register as scratch register
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: JavaScriptCore
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: sg5.lee at samsung.com
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