Changeset 239838 in webkit


Ignore:
Timestamp:
Jan 10, 2019 12:04:32 PM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r239825.
https://bugs.webkit.org/show_bug.cgi?id=193330

Broke tests on armv7/linux bots (Requested by guijemont on
#webkit).

Reverted changeset:

"Enable DFG on ARM/Linux again"
https://bugs.webkit.org/show_bug.cgi?id=192496
https://trac.webkit.org/changeset/239825

Location:
trunk
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/JSTests/ChangeLog

    r239825 r239838  
     12019-01-10  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r239825.
     4        https://bugs.webkit.org/show_bug.cgi?id=193330
     5
     6        Broke tests on armv7/linux bots (Requested by guijemont on
     7        #webkit).
     8
     9        Reverted changeset:
     10
     11        "Enable DFG on ARM/Linux again"
     12        https://bugs.webkit.org/show_bug.cgi?id=192496
     13        https://trac.webkit.org/changeset/239825
     14
    1152019-01-10  Dominik Infuehr  <dinfuehr@igalia.com>
    216
  • trunk/JSTests/stress/regress-192717.js

    r239825 r239838  
     1//@ runDefault("--useLLInt=false", "--forceCodeBlockToJettisonDueToOldAge=true", "--maxPerThreadStackUsage=200000", "--exceptionStackTraceLimit=1", "--defaultErrorStackTraceLimit=1")
    12//@ skip if $memoryLimited or $buildType == "debug"
    2 //@ runDefault("--useLLInt=false", "--forceCodeBlockToJettisonDueToOldAge=true", "--maxPerThreadStackUsage=200000", "--exceptionStackTraceLimit=1", "--defaultErrorStackTraceLimit=1")
    33
    44let foo = 'let a';
  • trunk/LayoutTests/ChangeLog

    r239837 r239838  
     12019-01-10  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r239825.
     4        https://bugs.webkit.org/show_bug.cgi?id=193330
     5
     6        Broke tests on armv7/linux bots (Requested by guijemont on
     7        #webkit).
     8
     9        Reverted changeset:
     10
     11        "Enable DFG on ARM/Linux again"
     12        https://bugs.webkit.org/show_bug.cgi?id=192496
     13        https://trac.webkit.org/changeset/239825
     14
    1152019-01-10  Justin Fan  <justin_fan@apple.com>
    216
  • trunk/LayoutTests/js/script-tests/dfg-float32array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-float64array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-int16array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-int32array-overflow-values.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-int32array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-int8array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-uint16array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-uint32array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/LayoutTests/js/script-tests/dfg-uint8array.js

    r239825 r239838  
    1 //@ noNoLLIntRunLayoutTest if $architecture == "arm"
     1//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin"
    22
    33description(
  • trunk/Source/JavaScriptCore/ChangeLog

    r239825 r239838  
     12019-01-10  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r239825.
     4        https://bugs.webkit.org/show_bug.cgi?id=193330
     5
     6        Broke tests on armv7/linux bots (Requested by guijemont on
     7        #webkit).
     8
     9        Reverted changeset:
     10
     11        "Enable DFG on ARM/Linux again"
     12        https://bugs.webkit.org/show_bug.cgi?id=192496
     13        https://trac.webkit.org/changeset/239825
     14
    1152019-01-10  Dominik Infuehr  <dinfuehr@igalia.com>
    216
  • trunk/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h

    r239825 r239838  
    750750        }
    751751
    752         bool empty() const
     752        bool empty()
    753753        {
    754754            return !m_jumps.size();
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExit.cpp

    r239825 r239838  
    7676#if NUMBER_OF_CALLEE_SAVES_REGISTERS > 0
    7777
     78static_assert(is64Bit(), "we only support callee save registers on 64-bit");
     79
    7880// Based on AssemblyHelpers::emitRestoreCalleeSavesFor().
    7981static void restoreCalleeSavesFor(Context& context, CodeBlock* codeBlock)
     
    136138        if (entry.reg().isGPR())
    137139            context.gpr(entry.reg().gpr()) = calleeSaveBuffer[uintptrOffset];
    138         else {
    139 #if USE(JSVALUE64)
     140        else
    140141            context.fpr(entry.reg().fpr()) = bitwise_cast<double>(calleeSaveBuffer[uintptrOffset]);
    141 #else
    142             // FIXME: <https://webkit.org/b/193275> support callee-saved floating point registers on 32-bit architectures
    143             RELEASE_ASSERT_NOT_REACHED();
    144 #endif
    145         }
    146142    }
    147143}
     
    166162        if (entry.reg().isGPR())
    167163            stack.set(calleeSaveBuffer, entry.offset(), context.gpr<UCPURegister>(entry.reg().gpr()));
    168         else {
    169 #if USE(JSVALUE64)
     164        else
    170165            stack.set(calleeSaveBuffer, entry.offset(), context.fpr<UCPURegister>(entry.reg().fpr()));
    171 #else
    172             // FIXME: <https://webkit.org/b/193275> support callee-saved floating point registers on 32-bit architectures
    173             RELEASE_ASSERT_NOT_REACHED();
    174 #endif
    175         }
    176166    }
    177167}
  • trunk/Source/JavaScriptCore/jit/CallFrameShuffler.cpp

    r239825 r239838  
    5252    for (unsigned i = FPRInfo::numberOfRegisters; i--; )
    5353        m_lockedRegisters.clear(FPRInfo::toRegister(i));
    54 
    55 #if USE(JSVALUE64)
    56     // ... as well as the runtime registers on 64-bit architectures.
    57     // However do not use these registers on 32-bit architectures since
    58     // saving and restoring callee-saved registers in CallFrameShuffler isn't supported
    59     // on 32-bit architectures yet.
     54    // ... as well as the runtime registers.
    6055    m_lockedRegisters.exclude(RegisterSet::vmCalleeSaveRegisters());
    61 #endif
    6256
    6357    ASSERT(!data.callee.isInJSStack() || data.callee.virtualRegister().isLocal());
  • trunk/Source/JavaScriptCore/jit/GPRInfo.h

    r239825 r239838  
    527527#endif // CPU(X86_64)
    528528
     529#if CPU(ARM)
     530#define NUMBER_OF_ARGUMENT_REGISTERS 4u
    529531#if CPU(ARM_THUMB2)
    530 #define NUMBER_OF_ARGUMENT_REGISTERS 4u
    531532#define NUMBER_OF_CALLEE_SAVES_REGISTERS 1u
     533#else
     534#define NUMBER_OF_CALLEE_SAVES_REGISTERS 0u
     535#endif
    532536
    533537class GPRInfo {
     
    545549    static const GPRReg regT5 = ARMRegisters::r9;
    546550    static const GPRReg regT6 = ARMRegisters::r10;
    547     static const GPRReg regT7 = ARMRegisters::r5;
     551#if CPU(ARM_THUMB2)
     552    static const GPRReg regT7 = ARMRegisters::r11;
     553#else
     554    static const GPRReg regT7 = ARMRegisters::r7;
     555#endif
    548556    static const GPRReg regT8 = ARMRegisters::r4;
    549557    static const GPRReg regCS0 = ARMRegisters::r11;
     
    580588        ASSERT(static_cast<int>(reg) < 16);
    581589        static const unsigned indexForRegister[16] =
    582             { 0, 1, 2, 3, 8, 7, InvalidIndex, InvalidIndex, 4, 5, 6, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex };
     590#if CPU(ARM_THUMB2)
     591            { 0, 1, 2, 3, 8, InvalidIndex, InvalidIndex, InvalidIndex, 4, 5, 6, 7, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex };
     592#else
     593            { 0, 1, 2, 3, 8, InvalidIndex, InvalidIndex, 7, 4, 5, 6, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex };
     594#endif
    583595        unsigned result = indexForRegister[reg];
    584596        return result;
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

    r239825 r239838  
    20132013
    20142014op(llint_throw_from_slow_path_trampoline, macro()
    2015     loadp Callee[cfr], t1
    2016     andp MarkedBlockMask, t1
    2017     loadp MarkedBlockFooterOffset + MarkedBlock::Footer::m_vm[t1], t1
    2018     copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(t1, t2)
    2019 
    20202015    callSlowPath(_llint_slow_path_handle_exception)
    20212016
     
    20262021    andp MarkedBlockMask, t1
    20272022    loadp MarkedBlockFooterOffset + MarkedBlock::Footer::m_vm[t1], t1
     2023    copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(t1, t2)
    20282024    jmp VM::targetMachinePCForThrow[t1]
    20292025end)
  • trunk/Source/JavaScriptCore/offlineasm/arm.rb

    r239825 r239838  
    3535#  x3 => t3, a3, r3
    3636#  x6 =>            (callee-save scratch)
    37 #  x7 => cfr
     37#  x7 => cfr        (ARMv7 only)
    3838#  x8 => t4         (callee-save)
    3939#  x9 => t5         (callee-save)
     
    5656# d7 =>              (scratch)
    5757
     58def isARMv7
     59    case $activeBackend
     60    when "ARMv7"
     61        true
     62    else
     63        raise "bad value for $activeBackend: #{$activeBackend}"
     64    end
     65end
     66
    5867class Node
    5968    def armSingle
     
    8392    elsif (~value) >= 0 && (~value) < 256
    8493        $asm.puts "mvn #{register.armOperand}, \##{~value}"
    85     else
     94    elsif isARMv7
    8695        $asm.puts "movw #{register.armOperand}, \##{value & 0xffff}"
    8796        if (value & 0xffff0000) != 0
    8897            $asm.puts "movt #{register.armOperand}, \##{(value >> 16) & 0xffff}"
    8998        end
     99    else
     100        $asm.puts "ldr #{register.armOperand}, =#{value}"
    90101    end
    91102end
     
    109120            "r9"
    110121        when "cfr"
    111             "r7"
     122            isARMv7 ?  "r7" : "r11"
    112123        when "csr0"
    113124            "r11"
     
    599610                $asm.puts "mov pc, #{operands[0].armOperand}"
    600611            end
     612            if not isARMv7 and not isARMv7Traditional
     613                $asm.puts ".ltorg"
     614            end
    601615        when "call"
    602616            if operands[0].label?
     
    679693            $asm.puts "ldr #{dest.armOperand}, [#{dest.armOperand}, #{temp.armOperand}]"
    680694
    681             offset = 4
     695            offset = $activeBackend == "ARMv7" ? 4 : 8
    682696
    683697            $asm.deferNextLabelAction {
  • trunk/Source/WTF/ChangeLog

    r239832 r239838  
     12019-01-10  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r239825.
     4        https://bugs.webkit.org/show_bug.cgi?id=193330
     5
     6        Broke tests on armv7/linux bots (Requested by guijemont on
     7        #webkit).
     8
     9        Reverted changeset:
     10
     11        "Enable DFG on ARM/Linux again"
     12        https://bugs.webkit.org/show_bug.cgi?id=192496
     13        https://trac.webkit.org/changeset/239825
     14
    1152019-01-10  John Wilander  <wilander@apple.com>
    216
  • trunk/Source/WTF/wtf/Platform.h

    r239832 r239838  
    761761#define ENABLE_JIT 1
    762762#endif
     763/* But still disable DFG for now. */
     764#undef ENABLE_DFG_JIT
     765#define ENABLE_DFG_JIT 0
    763766#else
    764767/* Disable JIT and force C_LOOP on all 32bit-architectures but ARMv7-Thumb2/Linux. */
  • trunk/Tools/ChangeLog

    r239836 r239838  
     12019-01-10  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r239825.
     4        https://bugs.webkit.org/show_bug.cgi?id=193330
     5
     6        Broke tests on armv7/linux bots (Requested by guijemont on
     7        #webkit).
     8
     9        Reverted changeset:
     10
     11        "Enable DFG on ARM/Linux again"
     12        https://bugs.webkit.org/show_bug.cgi?id=192496
     13        https://trac.webkit.org/changeset/239825
     14
    1152019-01-10  Zhifei Fang  <zhifei_fang@apple.com>
    216
  • trunk/Tools/Scripts/run-jsc-stress-tests

    r239836 r239838  
    450450$isFTLPlatform = !($architecture == "x86" || $architecture == "arm" || $architecture == "mips" || $hostOS == "windows")
    451451
    452 if ["mips", "x86"].include?($architecture)
     452if ["arm", "mips", "x86"].include?($architecture)
    453453    # The JIT is temporarily disabled on these platforms since
    454454    # https://trac.webkit.org/changeset/237547
Note: See TracChangeset for help on using the changeset viewer.