Ignore:
Timestamp:
Mar 24, 2014, 8:24:02 AM (11 years ago)
Author:
[email protected]
Message:

[ARM64] GNU assembler doesn't work with LLInt arm64 backend.
https://bugs.webkit.org/show_bug.cgi?id=130453

Reviewed by Filip Pizlo.

Change fp and lr to x29 and x30. Add both operand kinds to emitARM64()
at sxtw and uxtw instructions.

  • offlineasm/arm64.rb:
File:
1 edited

Legend:

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

    r165205 r166166  
    130130            'sp'
    131131        when 'lr'
    132             'lr'
     132            'x30'
    133133        else
    134134            raise "Bad register name #{@name} at #{codeOriginString}"
     
    588588            }
    589589        when "popLRAndFP"
    590             $asm.puts "ldp fp, lr, [sp], #16"
     590            $asm.puts "ldp x29, x30, [sp], #16"
    591591        when "pushLRAndFP"
    592             $asm.puts "stp fp, lr, [sp, #-16]!"
     592            $asm.puts "stp x29, x30, [sp, #-16]!"
    593593        when "popCalleeSaves"
    594594            $asm.puts "ldp x28, x27, [sp], #16"
     
    610610            end
    611611        when "sxi2p"
    612             emitARM64("sxtw", operands, :ptr)
     612            emitARM64("sxtw", operands, [:int, :ptr])
    613613        when "sxi2q"
    614             emitARM64("sxtw", operands, :ptr)
     614            emitARM64("sxtw", operands, [:int, :ptr])
    615615        when "zxi2p"
    616             emitARM64("uxtw", operands, :ptr)
     616            emitARM64("uxtw", operands, [:int, :ptr])
    617617        when "zxi2q"
    618             emitARM64("uxtw", operands, :ptr)
     618            emitARM64("uxtw", operands, [:int, :ptr])
    619619        when "nop"
    620620            $asm.puts "nop"
Note: See TracChangeset for help on using the changeset viewer.