Changeset 239867 in webkit for trunk/Source/JavaScriptCore/offlineasm
- Timestamp:
- Jan 11, 2019, 12:41:42 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/offlineasm/arm.rb
r239838 r239867 35 35 # x3 => t3, a3, r3 36 36 # x6 => (callee-save scratch) 37 # x7 => cfr (ARMv7 only)37 # x7 => cfr 38 38 # x8 => t4 (callee-save) 39 39 # x9 => t5 (callee-save) … … 56 56 # d7 => (scratch) 57 57 58 def isARMv759 case $activeBackend60 when "ARMv7"61 true62 else63 raise "bad value for $activeBackend: #{$activeBackend}"64 end65 end66 67 58 class Node 68 59 def armSingle … … 92 83 elsif (~value) >= 0 && (~value) < 256 93 84 $asm.puts "mvn #{register.armOperand}, \##{~value}" 94 els if isARMv785 else 95 86 $asm.puts "movw #{register.armOperand}, \##{value & 0xffff}" 96 87 if (value & 0xffff0000) != 0 97 88 $asm.puts "movt #{register.armOperand}, \##{(value >> 16) & 0xffff}" 98 89 end 99 else100 $asm.puts "ldr #{register.armOperand}, =#{value}"101 90 end 102 91 end … … 120 109 "r9" 121 110 when "cfr" 122 isARMv7 ? "r7" : "r11"111 "r7" 123 112 when "csr0" 124 113 "r11" … … 610 599 $asm.puts "mov pc, #{operands[0].armOperand}" 611 600 end 612 if not isARMv7 and not isARMv7Traditional613 $asm.puts ".ltorg"614 end615 601 when "call" 616 602 if operands[0].label? … … 693 679 $asm.puts "ldr #{dest.armOperand}, [#{dest.armOperand}, #{temp.armOperand}]" 694 680 695 offset = $activeBackend == "ARMv7" ? 4 : 8681 offset = 4 696 682 697 683 $asm.deferNextLabelAction {
Note:
See TracChangeset
for help on using the changeset viewer.