Changeset 228457 in webkit


Ignore:
Timestamp:
Feb 13, 2018 10:05:25 PM (6 years ago)
Author:
jmarcell@apple.com
Message:

Cherry-pick r228401. rdar://problem/37521078

Location:
branches/safari-605-branch
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-605-branch/JSTests/ChangeLog

    r228206 r228457  
     12018-02-13  Jason Marcell  <jmarcell@apple.com>
     2
     3        Cherry-pick r228401. rdar://problem/37521078
     4
     5    2018-02-12  Saam Barati  <sbarati@apple.com>
     6
     7            DFG::emitCodeToGetArgumentsArrayLength needs to handle NewArrayBuffer/PhantomNewArrayBuffer
     8            https://bugs.webkit.org/show_bug.cgi?id=182706
     9            <rdar://problem/36833681>
     10
     11            Reviewed by Filip Pizlo.
     12
     13            * stress/get-array-length-phantom-new-array-buffer.js: Added.
     14            (effects):
     15            (foo):
     16
    1172018-02-06  Jason Marcell  <jmarcell@apple.com>
    218
  • branches/safari-605-branch/Source/JavaScriptCore/ChangeLog

    r228206 r228457  
     12018-02-13  Jason Marcell  <jmarcell@apple.com>
     2
     3        Cherry-pick r228401. rdar://problem/37521078
     4
     5    2018-02-12  Saam Barati  <sbarati@apple.com>
     6
     7            DFG::emitCodeToGetArgumentsArrayLength needs to handle NewArrayBuffer/PhantomNewArrayBuffer
     8            https://bugs.webkit.org/show_bug.cgi?id=182706
     9            <rdar://problem/36833681>
     10
     11            Reviewed by Filip Pizlo.
     12
     13            When we added support for PhantomNewArrayBuffer, we forgot to update
     14            the emitCodeToGetArgumentsArrayLength function to handle PhantomNewArrayBuffer.
     15            This patch adds that support. It's trivial to generate the length for
     16            a PhantomNewArrayBuffer node since it's a constant buffer, with a constant
     17            length.
     18
     19            * dfg/DFGArgumentsUtilities.cpp:
     20            (JSC::DFG::emitCodeToGetArgumentsArrayLength):
     21
    1222018-02-06  Jason Marcell  <jmarcell@apple.com>
    223
  • branches/safari-605-branch/Source/JavaScriptCore/dfg/DFGArgumentsUtilities.cpp

    r228076 r228457  
    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.