[Webkit-unassigned] [Bug 172669] New: Implement a faster Interpreter::getOpcodeID().

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 26 15:40:15 PDT 2017


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

            Bug ID: 172669
           Summary: Implement a faster Interpreter::getOpcodeID().
           Product: WebKit
           Version: WebKit Local Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mark.lam at apple.com

We can implement Interpreter::getOpcodeID() without a hash table lookup by always embedding the OpcodeID in the 32-bit word just before the start of the LLInt handler code that executes each opcode.  getOpcodeID() can therefore just read the 32-bits before the opcode address to get its OpcodeID.

This is currently only enabled for CPU(X86), CPU(X86_64), CPU(ARM64), CPU(ARM_THUMB2), and only for OS(DARWIN).  It'll probably just work for linux as well, but I'll let the Linux folks turn that on after they have verified that it works on linux too.

I'll also take this opportunity to clean up how we initialize the opcodeIDTable:
1. we only need to initialize it once per process, not once per VM / interpreter instance.
2. we can initialize it in the Interpreter constructor instead of requiring a separate call to an initialize() function.

-- 
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/20170526/c9bc3369/attachment.html>


More information about the webkit-unassigned mailing list