[Webkit-unassigned] [Bug 169030] New: [JSC] Optimize generators and iterators with op_next

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 1 04:19:10 PST 2017


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

            Bug ID: 169030
           Summary: [JSC] Optimize generators and iterators with op_next
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: utatane.tea at gmail.com

Simple idea: we have op_next for for-of statement. And op_next usually works as similar to `call` to the next() function.
But it records the iterator/generator (IC).

In DFG / FTL tiers, if we can ensure that this op_next still calls the same generator functions,
we can skip Generator.prototype.next() function. Generator.prototype.next() is costly because all the generators use this one function.
It is inherently polymorphic. But if we can skip this and if the IC tells DFG which generator function is called, we can inline
the generator function in the call site! If it is done in FTL layer, we have a chance to drop the lexical environment creation for the generators by using object allocation sinking.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170301/fd53d78a/attachment.html>


More information about the webkit-unassigned mailing list