[Webkit-unassigned] [Bug 120020] New: Change Set 154207 causes wrong register to be used for 32 bit tests

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 19 12:30:25 PDT 2013


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

           Summary: Change Set 154207 causes wrong register to be used for
                    32 bit tests
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: msaboff at apple.com


The change to branchTest32(ResultCondition, RegisterID, TrustedImm32) in change set 154207 breaks the testing of registers esp, ebp, esi and edi.

Due to the encoding of registers for 32bit addressing, registers numbered 4-7 (esp, ebp, esi and edi) become the upper half of registers 0-3 (ah, ch, dh and bh respectively).  Therefore a call to branchTestPtr(Zero, GPRInfo::edi, TrustedImm32(7)) while emit a testb  $7, %bh instruction.

For 64 bit addressing, a REX prefix is used to assure the right lower 8 bits or a register are used.

-- 
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