[Webkit-unassigned] [Bug 148288] New: Create ById IC for ByVal operation only when the specific Id comes more than once

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Aug 20 21:30:09 PDT 2015


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

            Bug ID: 148288
           Summary: Create ById IC for ByVal operation only when the
                    specific Id comes more than once
    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

After introducing byId ICs into byVal ops, byVal ops creates much ICs than before.

https://bugs.webkit.org/show_bug.cgi?id=148273
The failure figures out these ICs are created even if this op is executed only once.

The situation is the following;
In the current code, when byVal op is executed with the Id, we immediately set up the byId IC for that byVal op.
But setting up JITGetByIdGenerator generates the fast path IC code and consumes executable memory.
As a result, if we call eval("contains byVal ops") with the different strings repeatedly under no-llint environment, each eval call creates byId IC for byVal and consumes executable memory.

To solve it, we will add "seen" flag to ByValInfo.
And we will create the IC on the second byVal op call with the same Id.

The rough design is the following,

if (!byValInfo->seen) {
    byValInfo->seen = true;
    byValInfo->cachedId = givenId;
} else if (byValInfo->cachedId == givenId)
    Generate IC!
else
    Make the call site generic.

-- 
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/20150821/c8f83344/attachment.html>


More information about the webkit-unassigned mailing list