Title: [237959] tags/Safari-607.1.13

Diff

Modified: tags/Safari-607.1.13/ChangeLog (237958 => 237959)


--- tags/Safari-607.1.13/ChangeLog	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/ChangeLog	2018-11-08 01:29:11 UTC (rev 237959)
@@ -1,3 +1,7 @@
+2018-11-07  Alan Coon  <[email protected]>
+
+        Revert r237803. rdar://problem/45895377
+
 2018-11-05  Dominik Infuehr  <[email protected]>
 
         Enable LLInt on ARMv7/Linux

Modified: tags/Safari-607.1.13/Source/_javascript_Core/ChangeLog (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/ChangeLog	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/ChangeLog	2018-11-08 01:29:11 UTC (rev 237959)
@@ -1,5 +1,9 @@
 2018-11-07  Alan Coon  <[email protected]>
 
+        Revert r237803. rdar://problem/45895377
+
+2018-11-07  Alan Coon  <[email protected]>
+
         Revert r237823. rdar://problem/45895377
 
 2018-11-07  Alan Coon  <[email protected]>

Modified: tags/Safari-607.1.13/Source/_javascript_Core/jit/GPRInfo.h (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/jit/GPRInfo.h	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/jit/GPRInfo.h	2018-11-08 01:29:11 UTC (rev 237959)
@@ -550,7 +550,6 @@
     static const GPRReg regT7 = ARMRegisters::r7;
 #endif
     static const GPRReg regT8 = ARMRegisters::r4;
-    static const GPRReg regCS0 = ARMRegisters::r11;
     // These registers match the baseline JIT.
     static const GPRReg callFrameRegister = ARMRegisters::fp;
     // These constants provide the names for the general purpose argument & return value registers.

Modified: tags/Safari-607.1.13/Source/_javascript_Core/jit/RegisterSet.cpp (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/jit/RegisterSet.cpp	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/jit/RegisterSet.cpp	2018-11-08 01:29:11 UTC (rev 237959)
@@ -236,7 +236,6 @@
     result.set(GPRInfo::regCS6);
 #endif
 #elif CPU(ARM_THUMB2)
-    result.set(GPRInfo::regCS0);
 #elif CPU(ARM_TRADITIONAL)
 #elif CPU(ARM64)
     result.set(GPRInfo::regCS6);

Modified: tags/Safari-607.1.13/Source/_javascript_Core/llint/LowLevelInterpreter.asm (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/llint/LowLevelInterpreter.asm	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/llint/LowLevelInterpreter.asm	2018-11-08 01:29:11 UTC (rev 237959)
@@ -230,8 +230,6 @@
     const CalleeSaveSpaceAsVirtualRegisters = 4
 elsif C_LOOP
     const CalleeSaveSpaceAsVirtualRegisters = 1
-elsif ARMv7
-    const CalleeSaveSpaceAsVirtualRegisters = 1
 else
     const CalleeSaveSpaceAsVirtualRegisters = 0
 end
@@ -296,10 +294,6 @@
     const PC = t4 # When changing this, make sure LLIntPC is up to date in LLIntPCRanges.h
     if C_LOOP
         const metadataTable = csr3
-    elsif ARMv7
-        const metadataTable = csr0
-    else
-        error
     end
 end
 
@@ -718,7 +712,6 @@
         storep metadataTable, -PtrSize[cfr]
     elsif ARM or ARMv7_TRADITIONAL
     elsif ARMv7
-        storep metadataTable, -4[cfr]
     elsif ARM64 or ARM64E
         emit "stp x27, x28, [x29, #-16]"
         emit "stp x25, x26, [x29, #-32]"
@@ -743,7 +736,6 @@
         loadp -PtrSize[cfr], metadataTable
     elsif ARM or ARMv7_TRADITIONAL
     elsif ARMv7
-        loadp -4[cfr], metadataTable
     elsif ARM64 or ARM64E
         emit "ldp x25, x26, [x29, #-32]"
         emit "ldp x27, x28, [x29, #-16]"
@@ -1194,11 +1186,12 @@
         move t0, sp
     end
 
-    # FIXME: cleanup double load
-    # https://bugs.webkit.org/show_bug.cgi?id=190933
-    loadp CodeBlock::m_metadata[t1], metadataTable
-    loadp MetadataTable::m_buffer[metadataTable], metadataTable
-
+    if JSVALUE64 or C_LOOP
+        # FIXME: cleanup double load
+        # https://bugs.webkit.org/show_bug.cgi?id=190933
+        loadp CodeBlock::m_metadata[t1], metadataTable
+        loadp MetadataTable::m_buffer[metadataTable], metadataTable
+    end
     if JSVALUE64
         move TagTypeNumber, tagTypeNumber
         addq TagBitTypeOther, tagTypeNumber, tagMask

Modified: tags/Safari-607.1.13/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm	2018-11-08 01:29:11 UTC (rev 237959)
@@ -343,7 +343,7 @@
     end
 end
 
-op(handleUncaughtException, macro()
+_handleUncaughtException:
     loadp Callee + PayloadOffset[cfr], t3
     andp MarkedBlockMask, t3
     loadp MarkedBlockFooterOffset + MarkedBlock::Footer::m_vm[t3], t3
@@ -374,7 +374,6 @@
     popCalleeSaves()
     functionEpilogue()
     ret
-end)
 
 macro doReturnFromHostFunction(extraStackSpace)
     functionEpilogue(extraStackSpace)
@@ -1939,7 +1938,7 @@
 end)
 
 
-commonOp(llint_op_catch, macro() end, macro (size)
+commonOp(op_catch, macro() end, macro (size)
     # This is where we end up from the JIT's throw trampoline (because the
     # machine code return address will be set to _llint_op_catch), and from
     # the interpreter's throw trampoline (see _llint_throw_trampoline).
@@ -1953,12 +1952,14 @@
     storep 0, VM::callFrameForCatch[t3]
     restoreStackPointerAfterCall()
 
-    # restore metadataTable since we don't restore callee saves for CLoop during unwinding
-    loadp CodeBlock[cfr], t1
-    # FIXME: cleanup double load
-    # https://bugs.webkit.org/show_bug.cgi?id=190933
-    loadp CodeBlock::m_metadata[t1], metadataTable
-    loadp MetadataTable::m_buffer[metadataTable], metadataTable
+    if C_LOOP
+        # restore metadataTable since we don't restore callee saves for CLoop during unwinding
+        loadp CodeBlock[cfr], t1
+        # FIXME: cleanup double load
+        # https://bugs.webkit.org/show_bug.cgi?id=190933
+        loadp CodeBlock::m_metadata[t1], metadataTable
+        loadp MetadataTable::m_buffer[metadataTable], metadataTable
+    end
 
     loadi VM::targetInterpreterPCForThrow[t3], PC
 

Modified: tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/arm.rb (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/arm.rb	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/arm.rb	2018-11-08 01:29:11 UTC (rev 237959)
@@ -38,7 +38,7 @@
 #  x8 => t4         (callee-save)
 #  x9 => t5         (callee-save)
 # x10 =>            (callee-save scratch)
-# x11 => cfr, csr0  (callee-save, metadataTable)
+# x11 => cfr        (ARM and ARMv7 traditional)
 # x12 =>            (callee-save scratch)
 #  lr => lr
 #  sp => sp
@@ -133,8 +133,6 @@
             "r9"
         when "cfr"
             isARMv7 ?  "r7" : "r11"
-        when "csr0"
-            "r11"
         when "lr"
             "lr"
         when "sp"
@@ -275,31 +273,6 @@
     newList
 end
 
-def armLowerLabelReferences(list)
-    newList = []
-    list.each {
-        | node |
-        if node.is_a? Instruction
-            case node.opcode
-            when "leai", "leap", "leaq"
-                labelRef = node.operands[0]
-                if labelRef.is_a? LabelReference
-                    raise unless labelRef.offset == 0
-                    tmp = Tmp.new(node.codeOrigin, :gpr)
-                    newList << Instruction.new(codeOrigin, "globaladdr", [LabelReference.new(node.codeOrigin, labelRef.label), node.operands[1], tmp])
-                else
-                    newList << node
-                end
-            else
-                newList << node
-            end
-        else
-            newList << node
-        end
-    }
-    newList
-end
-
 class Sequence
     def getModifiedListARM
         raise unless $activeBackend == "ARM"
@@ -321,7 +294,6 @@
         result = riscLowerSimpleBranchOps(result)
         result = riscLowerHardBranchOps(result)
         result = riscLowerShiftOps(result)
-        result = armLowerLabelReferences(result)
         result = riscLowerMalformedAddresses(result) {
             | node, address |
             if address.is_a? BaseIndex
@@ -488,7 +460,7 @@
             $asm.puts "str #{armOperands(operands)}"
         when "loadb"
             $asm.puts "ldrb #{armFlippedOperands(operands)}"
-        when "loadbs", "loadbsp"
+        when "loadbs"
             $asm.puts "ldrsb.w #{armFlippedOperands(operands)}"
         when "storeb"
             $asm.puts "strb #{armOperands(operands)}"
@@ -710,28 +682,6 @@
             $asm.puts "dmb sy"
         when "clrbp"
             $asm.puts "bic #{operands[2].armOperand}, #{operands[0].armOperand}, #{operands[1].armOperand}"
-        when "globaladdr"
-            labelRef = operands[0]
-            dest = operands[1]
-            temp = operands[2]
-
-            uid = $asm.newUID
-            gotLabel = "L_offlineasm_arm_got_#{uid}"
-            offsetLabel = "L_offlineasm_arm_got_offset_#{uid}"
-
-            $asm.puts "ldr #{dest.armOperand}, #{gotLabel}"
-            $asm.puts "ldr #{temp.armOperand}, #{gotLabel}+4"
-            $asm.puts "#{offsetLabel}:"
-            $asm.puts "add #{dest.armOperand}, pc, #{dest.armOperand}"
-            $asm.puts "ldr #{dest.armOperand}, [#{dest.armOperand}, #{temp.armOperand}]"
-
-            offset = $activeBackend == "ARMv7" ? 4 : 8
-
-            $asm.deferNextLabelAction {
-                $asm.puts "#{gotLabel}:"
-                $asm.puts ".word _GLOBAL_OFFSET_TABLE_-(#{offsetLabel}+#{offset})"
-                $asm.puts ".word #{labelRef.asmLabel}(GOT)"
-            }
         else
             lowerDefault
         end

Modified: tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/asm.rb (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/asm.rb	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/asm.rb	2018-11-08 01:29:11 UTC (rev 237959)
@@ -51,7 +51,6 @@
         @numLocalLabels = 0
         @numGlobalLabels = 0
         @deferredActions = []
-        @deferredNextLabelActions = []
         @count = 0
 
         @newlineSpacerState = :none
@@ -80,7 +79,7 @@
             putsProcEndIfNeeded
         end
         putsLastComment
-        (@deferredNextLabelActions + @deferredActions).each {
+        @deferredActions.each {
             | action |
             action.call()
         }
@@ -91,10 +90,6 @@
     def deferAction(&proc)
         @deferredActions << proc
     end
-
-    def deferNextLabelAction(&proc)
-        @deferredNextLabelActions << proc
-    end
     
     def newUID
         @count += 1
@@ -214,11 +209,6 @@
 
     def putsLabel(labelName, isGlobal)
         raise unless @state == :asm
-        @deferredNextLabelActions.each {
-            | action |
-            action.call()
-        }
-        @deferredNextLabelActions = []
         @numGlobalLabels += 1
         putsProcEndIfNeeded if $emitWinAsm and isGlobal
         putsNewlineSpacerIfAppropriate(:global)

Modified: tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/instructions.rb (237958 => 237959)


--- tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/instructions.rb	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/_javascript_Core/offlineasm/instructions.rb	2018-11-08 01:29:11 UTC (rev 237959)
@@ -265,8 +265,7 @@
 ARM_INSTRUCTIONS =
     [
      "clrbp",
-     "mvlbl",
-     "globaladdr"
+     "mvlbl"
     ]
 
 ARM64_INSTRUCTIONS =

Modified: tags/Safari-607.1.13/Source/WTF/ChangeLog (237958 => 237959)


--- tags/Safari-607.1.13/Source/WTF/ChangeLog	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/WTF/ChangeLog	2018-11-08 01:29:11 UTC (rev 237959)
@@ -1,5 +1,9 @@
 2018-11-07  Alan Coon  <[email protected]>
 
+        Revert r237803. rdar://problem/45895377
+
+2018-11-07  Alan Coon  <[email protected]>
+
         Revert r237919. rdar://problem/45895377
 
 2018-11-06  Justin Fan  <[email protected]>

Modified: tags/Safari-607.1.13/Source/WTF/wtf/Platform.h (237958 => 237959)


--- tags/Safari-607.1.13/Source/WTF/wtf/Platform.h	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/WTF/wtf/Platform.h	2018-11-08 01:29:11 UTC (rev 237959)
@@ -759,16 +759,13 @@
 #define ENABLE_JIT 1
 #endif
 
-/* Disable JIT for 32-bit builds. */
+/* Force C_LOOP for 32-bit builds. */
 #if USE(JSVALUE32_64)
 #undef ENABLE_JIT
 #define ENABLE_JIT 0
-/* Force C_LOOP on all architectures but ARMv7-Thumb2/Linux. */
-#if !(CPU(ARM_THUMB2) && OS(LINUX))
 #undef ENABLE_C_LOOP
 #define ENABLE_C_LOOP 1
 #endif
-#endif
 
 #if !defined(ENABLE_C_LOOP)
 #if ENABLE(JIT) \

Modified: tags/Safari-607.1.13/Source/cmake/WebKitFeatures.cmake (237958 => 237959)


--- tags/Safari-607.1.13/Source/cmake/WebKitFeatures.cmake	2018-11-08 01:29:06 UTC (rev 237958)
+++ tags/Safari-607.1.13/Source/cmake/WebKitFeatures.cmake	2018-11-08 01:29:11 UTC (rev 237959)
@@ -68,12 +68,6 @@
         set(USE_SYSTEM_MALLOC_DEFAULT OFF)
         set(ENABLE_C_LOOP_DEFAULT OFF)
         set(ENABLE_SAMPLING_PROFILER_DEFAULT ON)
-    elseif (WTF_CPU_ARM AND WTF_OS_UNIX)
-        set(ENABLE_JIT_DEFAULT OFF)
-        set(ENABLE_FTL_DEFAULT OFF)
-        set(USE_SYSTEM_MALLOC_DEFAULT OFF)
-        set(ENABLE_C_LOOP_DEFAULT OFF)
-        set(ENABLE_SAMPLING_PROFILER_DEFAULT OFF)
     else ()
         set(ENABLE_JIT_DEFAULT OFF)
         set(ENABLE_FTL_DEFAULT OFF)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to