File tree Expand file tree Collapse file tree
Source/JavaScriptCore/offlineasm Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -755,8 +755,14 @@ def lowerARMCommon
755755 armMoveImmediate ( operands [ 0 ] . value >> 32 , operands [ 1 ] )
756756 armMoveImmediate ( operands [ 0 ] . value & 0xffffffff , operands [ 2 ] )
757757 when "mvlbl"
758- $asm. puts "movw #{ operands [ 1 ] . armOperand } , \# :lower16:#{ operands [ 0 ] . value } "
759- $asm. puts "movt #{ operands [ 1 ] . armOperand } , \# :upper16:#{ operands [ 0 ] . value } "
758+ afterData = LocalLabel . unique ( codeOrigin , "mvlbl" )
759+ data = LocalLabel . unique ( codeOrigin , "mvlbl" )
760+ $asm. puts "b #{ LocalLabelReference . new ( codeOrigin , afterData ) . asmLabel } "
761+ $asm. puts ".align 1"
762+ data . lower ( "ARM" )
763+ $asm. puts ".word #{ operands [ 0 ] . value } "
764+ afterData . lower ( "ARM" )
765+ $asm. puts "ldr #{ operands [ 1 ] . armOperand } , #{ LocalLabelReference . new ( codeOrigin , data ) . asmLabel } "
760766 when "sxb2i"
761767 $asm. puts "sxtb #{ armFlippedOperands ( operands ) } "
762768 when "sxh2i"
@@ -1000,4 +1006,3 @@ def lowerARMCommon
10001006 end
10011007 end
10021008end
1003-
You can’t perform that action at this time.
0 commit comments