Ignore:
Timestamp:
Oct 9, 2017, 2:17:14 PM (8 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r223015 and r223025.
https://bugs.webkit.org/show_bug.cgi?id=178093

Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
#webkit).

Reverted changesets:

"Enable gigacage on iOS"
https://bugs.webkit.org/show_bug.cgi?id=177586
http://trac.webkit.org/changeset/223015

"Unreviewed, disable Gigacage on ARM64 Linux"
https://bugs.webkit.org/show_bug.cgi?id=177586
http://trac.webkit.org/changeset/223025

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/offlineasm/arm64.rb

    r223015 r223069  
    261261end
    262262
    263 def arm64LowerLabelReferences(list)
    264     newList = []
    265     list.each {
    266         | node |
    267         if node.is_a? Instruction
    268             case node.opcode
    269             when "loadi", "loadis", "loadp", "loadq", "loadb", "loadbs", "loadh", "loadhs"
    270                 labelRef = node.operands[0]
    271                 if labelRef.is_a? LabelReference
    272                     tmp = Tmp.new(node.codeOrigin, :gpr)
    273                     newList << Instruction.new(codeOrigin, "globaladdr", [LabelReference.new(node.codeOrigin, labelRef.label), tmp])
    274                     newList << Instruction.new(codeOrigin, node.opcode, [Address.new(node.codeOrigin, tmp, Immediate.new(node.codeOrigin, labelRef.offset)), node.operands[1]])
    275                 else
    276                     newList << node
    277                 end
    278             else
    279                 newList << node
    280             end
    281         else
    282             newList << node
    283         end
    284     }
    285     newList
    286 end
    287 
    288263# Workaround for Cortex-A53 erratum (835769)
    289264def arm64CortexA53Fix835769(list)
     
    322297        result = riscLowerShiftOps(result)
    323298        result = arm64LowerMalformedLoadStoreAddresses(result)
    324         result = arm64LowerLabelReferences(result)
    325299        result = riscLowerMalformedAddresses(result) {
    326300            | node, address |
     
    931905            $asm.puts "nop"
    932906            $asm.putStr("#endif")
    933         when "globaladdr"
    934             uid = $asm.newUID
    935             $asm.puts "L_offlineasm_loh_adrp_#{uid}:"
    936             $asm.puts "adrp #{operands[1].arm64Operand(:ptr)}, #{operands[0].asmLabel}@GOTPAGE"
    937             $asm.puts "L_offlineasm_loh_ldr_#{uid}:"
    938             $asm.puts "ldr #{operands[1].arm64Operand(:ptr)}, [#{operands[1].arm64Operand(:ptr)}, #{operands[0].asmLabel}@GOTPAGEOFF]"
    939             $asm.deferAction {
    940                 $asm.puts ".loh AdrpLdrGot L_offlineasm_loh_adrp_#{uid}, L_offlineasm_loh_ldr_#{uid}"
    941             }
    942907        else
    943908            lowerDefault
Note: See TracChangeset for help on using the changeset viewer.