Changeset 228738 in webkit


Ignore:
Timestamp:
Feb 19, 2018 11:34:23 PM (6 years ago)
Author:
Carlos Garcia Campos
Message:

Merge r228401 - DFG::emitCodeToGetArgumentsArrayLength needs to handle NewArrayBuffer/PhantomNewArrayBuffer
https://bugs.webkit.org/show_bug.cgi?id=182706
<rdar://problem/36833681>

Reviewed by Filip Pizlo.

JSTests:

  • stress/get-array-length-phantom-new-array-buffer.js: Added.

(effects):
(foo):

Source/JavaScriptCore:

When we added support for PhantomNewArrayBuffer, we forgot to update
the emitCodeToGetArgumentsArrayLength function to handle PhantomNewArrayBuffer.
This patch adds that support. It's trivial to generate the length for
a PhantomNewArrayBuffer node since it's a constant buffer, with a constant
length.

  • dfg/DFGArgumentsUtilities.cpp:

(JSC::DFG::emitCodeToGetArgumentsArrayLength):

Location:
releases/WebKitGTK/webkit-2.20
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • releases/WebKitGTK/webkit-2.20/JSTests/ChangeLog

    r228638 r228738  
     12018-02-12  Saam Barati  <sbarati@apple.com>
     2
     3        DFG::emitCodeToGetArgumentsArrayLength needs to handle NewArrayBuffer/PhantomNewArrayBuffer
     4        https://bugs.webkit.org/show_bug.cgi?id=182706
     5        <rdar://problem/36833681>
     6
     7        Reviewed by Filip Pizlo.
     8
     9        * stress/get-array-length-phantom-new-array-buffer.js: Added.
     10        (effects):
     11        (foo):
     12
    1132018-02-06  Keith Miller  <keith_miller@apple.com>
    214
  • releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore/ChangeLog

    r228736 r228738  
     12018-02-12  Saam Barati  <sbarati@apple.com>
     2
     3        DFG::emitCodeToGetArgumentsArrayLength needs to handle NewArrayBuffer/PhantomNewArrayBuffer
     4        https://bugs.webkit.org/show_bug.cgi?id=182706
     5        <rdar://problem/36833681>
     6
     7        Reviewed by Filip Pizlo.
     8
     9        When we added support for PhantomNewArrayBuffer, we forgot to update
     10        the emitCodeToGetArgumentsArrayLength function to handle PhantomNewArrayBuffer.
     11        This patch adds that support. It's trivial to generate the length for
     12        a PhantomNewArrayBuffer node since it's a constant buffer, with a constant
     13        length.
     14
     15        * dfg/DFGArgumentsUtilities.cpp:
     16        (JSC::DFG::emitCodeToGetArgumentsArrayLength):
     17
    1182018-02-12  Mark Lam  <mark.lam@apple.com>
    219
  • releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore/dfg/DFGArgumentsUtilities.cpp

    r228035 r228738  
    6666        graph, arguments,
    6767        arguments->op() == CreateDirectArguments || arguments->op() == CreateScopedArguments
    68         || arguments->op() == CreateClonedArguments || arguments->op() == CreateRest
    69         || arguments->op() == PhantomDirectArguments || arguments->op() == PhantomClonedArguments || arguments->op() == PhantomCreateRest,
     68        || arguments->op() == CreateClonedArguments || arguments->op() == CreateRest || arguments->op() == NewArrayBuffer
     69        || arguments->op() == PhantomDirectArguments || arguments->op() == PhantomClonedArguments
     70        || arguments->op() == PhantomCreateRest || arguments->op() == PhantomNewArrayBuffer,
    7071        arguments->op());
     72
     73    if (arguments->op() == NewArrayBuffer || arguments->op() == PhantomNewArrayBuffer) {
     74        return insertionSet.insertConstant(
     75            nodeIndex, origin, jsNumber(arguments->castOperand<JSFixedArray*>()->length()));
     76    }
    7177   
    7278    InlineCallFrame* inlineCallFrame = arguments->origin.semantic.inlineCallFrame;
Note: See TracChangeset for help on using the changeset viewer.