Changeset 226294 in webkit


Ignore:
Timestamp:
Dec 26, 2017 10:54:38 AM (6 years ago)
Author:
commit-queue@webkit.org
Message:

REGRESSION(r226269): 60 JSC test failures on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=181163

Patch by Zan Dobersek <zdobersek@igalia.com> on 2017-12-26
Reviewed by Yusuke Suzuki.

In r226269, DFG::SpeculativeJIT::compile() changed behavior for the
GetDirectPname operation on non-x86 platforms, switching to using
GPRFlushedCallResult registers for the payload and tag pair of the
return value (through the JSValueRegsFlushedCallResult struct). This
tripped about 60 test cases on ARMv7.

As before this change, GPRTemporary registers should be used, but this
can now be done through a JSValueRegsTemporary object.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r226283 r226294  
     12017-12-26  Zan Dobersek  <zdobersek@igalia.com>
     2
     3        REGRESSION(r226269): 60 JSC test failures on ARMv7
     4        https://bugs.webkit.org/show_bug.cgi?id=181163
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        In r226269, DFG::SpeculativeJIT::compile() changed behavior for the
     9        GetDirectPname operation on non-x86 platforms, switching to using
     10        GPRFlushedCallResult registers for the payload and tag pair of the
     11        return value (through the JSValueRegsFlushedCallResult struct). This
     12        tripped about 60 test cases on ARMv7.
     13
     14        As before this change, GPRTemporary registers should be used, but this
     15        can now be done through a JSValueRegsTemporary object.
     16
     17        * dfg/DFGSpeculativeJIT32_64.cpp:
     18        (JSC::DFG::SpeculativeJIT::compile):
     19
    1202017-12-22  Caio Lima  <ticaiolima@gmail.com>
    221
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp

    r226269 r226294  
    48944894#else
    48954895        GPRTemporary scratch(this);
    4896         JSValueRegsFlushedCallResult result(this);
     4896        JSValueRegsTemporary result(this);
    48974897
    48984898        GPRReg scratchGPR = scratch.gpr();
Note: See TracChangeset for help on using the changeset viewer.