Changeset 237486 in webkit for trunk/Source/JavaScriptCore/offlineasm/x86.rb
- Timestamp:
- Oct 26, 2018, 4:34:01 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/offlineasm/x86.rb
r237479 r237486 284 284 isWin ? "r10" : "r8" 285 285 when "t5" 286 isWin ? "ecx" : "r10" 286 raise "cannot use register #{name} on X86-64 Windows" unless not isWin 287 "r10" 287 288 when "csr0" 288 289 "ebx" … … 465 466 # FIXME: Implement this on platforms that aren't Mach-O. 466 467 # https://bugs.webkit.org/show_bug.cgi?id=175104 467 used 468 if !isIntelSyntax 469 $asm.puts "movq #{asmLabel}@GOTPCREL(%rip), #{dst.x86Operand(:ptr)}" 470 else 471 $asm.puts "lea #{dst.x86Operand(:ptr)}, #{asmLabel}" 472 end 468 $asm.puts "movq #{asmLabel}@GOTPCREL(%rip), #{dst.x86Operand(:ptr)}" 473 469 "#{offset}(#{dst.x86Operand(kind)})" 474 470 end … … 589 585 def emitX86Lea(src, dst, kind) 590 586 if src.is_a? LabelReference 591 src.used 592 if !isIntelSyntax 593 $asm.puts "movq #{src.asmLabel}@GOTPCREL(%rip), #{dst.x86Operand(:ptr)}" 594 else 595 $asm.puts "lea #{dst.x86Operand(:ptr)}, #{src.asmLabel}" 596 end 587 $asm.puts "movq #{src.asmLabel}@GOTPCREL(%rip), #{dst.x86Operand(:ptr)}" 597 588 else 598 589 $asm.puts "lea#{x86Suffix(kind)} #{orderOperands(src.x86AddressOperand(kind), dst.x86Operand(kind))}" … … 957 948 when "xorq" 958 949 handleX86Op("xor#{x86Suffix(:quad)}", :quad) 959 when "leap"960 emitX86Lea(operands[0], operands[1], :ptr)961 950 when "loadi" 962 951 $asm.puts "mov#{x86Suffix(:int)} #{x86LoadOperands(:int, :int)}" … … 992 981 else 993 982 $asm.puts "movsx #{x86LoadOperands(:byte, :int)}" 994 end995 when "loadbsp"996 if !isIntelSyntax997 $asm.puts "movsb#{x86Suffix(:ptr)} #{x86LoadOperands(:byte, :ptr)}"998 else999 $asm.puts "movsx #{x86LoadOperands(:byte, :ptr)}"1000 983 end 1001 984 when "loadh"
Note:
See TracChangeset
for help on using the changeset viewer.