[Webkit-unassigned] [Bug 183130] New: [MIPS] Optimize generated JIT code for branches

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Feb 26 08:18:16 PST 2018


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

            Bug ID: 183130
           Summary: [MIPS] Optimize generated JIT code for branches
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: stanislav.ocovaj at rt-rk.com

There are a couple of places where a more efficient code can be generated for branches on a MIPS platform.
Firstly, the patch https://bugs.webkit.org/show_bug.cgi?id=101328 added two nop instructions to branchEqual() and branchNotEqual() in order to prevent the beq/bne instruction in a patchable branch from being overwritten by replaceWithJump() in case when we have to jump outside the 256MB-aligned block. However, this adds a significant overhead for all other types of branches. Since these nop's protect the code that comes after the code generated by moveWithPatch(), this function seems like a better place to add them.
Secondly, in branches with immediate operand, the immediate value is 0 in many cases, and in these cases we can use the zero register directly without generating a move (pseudo)instruction.

-- 
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/20180226/920601d3/attachment.html>


More information about the webkit-unassigned mailing list