; Assembly listing for method System.Tests.Perf_Char:Char_ToUpper(ushort,ref):ushort:this ; Emitting BLENDED_CODE for generic ARM CPU - Unix ; Tier-1 compilation ; optimized code ; sp based frame ; partially interruptible ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd ; V01 arg1 [V01,T01] ( 3, 3 ) ushort -> r1 ; V02 arg2 [V02,T00] ( 3, 3 ) ref -> r2 class-hnd ;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; ; Lcl frame size = 4 G_M28572_IG01: 000000 B508 push {r3,lr} G_M28572_IG02: 000002 B288 uxth r0, r1 000004 4611 mov r1, r2 000006 F641 330D movw r3, 0x1b0d 00000A F2CB 43F6 movt r3, 0xb4f6 00000E 4798 blx r3 // System.Char:ToUpper(ushort,ref):ushort G_M28572_IG03: 000010 BD08 pop {r3,pc} ; Assembly listing for method System.Char:ToUpper(ushort,ref):ushort ; Emitting BLENDED_CODE for generic ARM CPU - Unix ; Tier-1 compilation ; optimized code ; r11 based frame ; partially interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 3, 3 ) ushort -> r4 ; V01 arg1 [V01,T00] ( 5, 5 ) ref -> r1 class-hnd ;# V02 OutArgs [V02 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V03 tmp1 [V03,T03] ( 3, 0 ) ref -> r4 class-hnd exact "NewObj constructor temp" ; V04 tmp2 [V04,T04] ( 2, 0 ) ref -> r1 "argument with side effect" ; V05 tmp3 [V05,T01] ( 3, 6 ) ref -> r0 "argument with side effect" ; ; Lcl frame size = 4 G_M24676_IG01: 000000 E92D 4818 push {r3,r4,r11,lr} 000004 F10D 0B08 add r11, sp, 8 000008 4604 mov r4, r0 G_M24676_IG02: 00000A 2900 cmp r1, 0 00000C D00B beq SHORT G_M24676_IG05 G_M24676_IG03: 00000E 4608 mov r0, r1 000010 680B ldr r3, [r1] 000012 6B1B ldr r3, [r3+48] 000014 69DB ldr r3, [r3+28] 000016 4798 blx r3 // System.Globalization.CultureInfo:get_TextInfo():ref:this 000018 B2A1 uxth r1, r4 00001A 6803 ldr r3, [r0] 00001C 6B1B ldr r3, [r3+48] 00001E 699B ldr r3, [r3+24] 000020 4798 blx r3 // System.Globalization.TextInfo:ToUpper(ushort):ushort:this G_M24676_IG04: 000022 E8BD 8818 pop {r3,r4,r11,pc} G_M24676_IG05: 000026 F640 50B4 movw r0, 0xdb4 00002A F6CA 705A movt r0, 0xaf5a 00002E F24B 5319 movw r3, 0xb519 000032 F2CB 6346 movt r3, 0xb646 000036 4798 blx r3 // CORINFO_HELP_NEWSFAST 000038 4604 mov r4, r0 00003A F241 7011 movw r0, 0x1711 00003E F2C0 0001 movt r0, 0x01 000042 F24B 0110 movw r1, 0xb010 000046 F2CB 61F5 movt r1, 0xb6f5 00004A F24C 33FD movw r3, 0xc3fd 00004E F2CB 6346 movt r3, 0xb646 000052 4798 blx r3 // CORINFO_HELP_STRCNS 000054 4601 mov r1, r0 000056 4620 mov r0, r4 000058 F24B 0335 movw r3, 0xb035 00005C F2CB 43F6 movt r3, 0xb4f6 000060 4798 blx r3 // System.ArgumentNullException:.ctor(ref):this 000062 4620 mov r0, r4 000064 F242 73FD movw r3, 0x27fd 000068 F2CB 6347 movt r3, 0xb647 00006C 4798 blx r3 // CORINFO_HELP_THROW 00006E DEFE bkpt ; Assembly listing for method System.Globalization.CultureInfo:get_TextInfo():ref:this ; Emitting BLENDED_CODE for generic ARM CPU - Unix ; Tier-1 compilation ; optimized code ; sp based frame ; partially interruptible ; Final local variable assignments ; ; V00 this [V00,T00] ( 7, 5.50) ref -> r4 this class-hnd ;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;# V02 OutArgs [V02 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V03 tmp1 [V03,T01] ( 4, 4 ) ref -> r5 class-hnd exact "NewObj constructor temp" ; V04 tmp2 [V04,T02] ( 2, 2 ) bool -> r1 "Inlining Arg" ; ; Lcl frame size = 4 G_M57207_IG01: 000000 B538 push {r3,r4,r5,lr} 000002 4604 mov r4, r0 G_M57207_IG02: 000004 68A0 ldr r0, [r4+8] 000006 2800 cmp r0, 0 000008 D11B bne SHORT G_M57207_IG03 00000A F644 4080 movw r0, 0x4c80 00000E F6CA 5042 movt r0, 0xad42 000012 F245 5319 movw r3, 0x5519 000016 F2CB 6341 movt r3, 0xb641 00001A 4798 blx r3 // CORINFO_HELP_NEWSFAST 00001C 4605 mov r5, r0 00001E 69A1 ldr r1, [r4+24] 000020 4628 mov r0, r5 000022 F249 534D movw r3, 0x954d 000026 F6CA 53A3 movt r3, 0xada3 00002A 4798 blx r3 // System.Globalization.TextInfo:.ctor(ref):this 00002C F894 1030 ldrb r1, [r4+48] 000030 7529 strb r1, [r5+20] 000032 F104 0008 add r0, r4, 8 000036 4629 mov r1, r5 000038 F244 7C61 movw r12, 0x4761 00003C F2CB 6C4F movt r12, 0xb64f 000040 47E0 blx r12 // CORINFO_HELP_ASSIGN_REF G_M57207_IG03: 000042 68A0 ldr r0, [r4+8] G_M57207_IG04: 000044 BD38 pop {r3,r4,r5,pc} ; Assembly listing for method System.Globalization.TextInfo:ToUpper(ushort):ushort:this ; Emitting BLENDED_CODE for generic ARM CPU - Unix ; Tier-1 compilation ; optimized code ; r11 based frame ; partially interruptible ; Final local variable assignments ; ; V00 this [V00,T00] ( 7, 4 ) ref -> r4 this class-hnd ; V01 arg1 [V01,T01] ( 3, 3 ) ushort -> r1 ;# V02 OutArgs [V02 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V03 tmp1 [V03,T07] ( 3, 1 ) int -> r0 ;* V04 tmp2 [V04 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ; V06 tmp4 [V06,T05] ( 2, 1.50) ref -> r7 class-hnd "Inlining Arg" ; V07 tmp5 [V07,T06] ( 2, 1.50) ref -> r6 class-hnd "Inlining Arg" ; V08 tmp6 [V08,T03] ( 3, 1.50) ref -> r0 "argument with side effect" ; V09 cse0 [V09,T04] ( 3, 1.50) ref -> r6 "ValNumCSE" ; V10 cse1 [V10,T08] ( 3, 0.75) int -> r0 "ValNumCSE" ; V11 cse2 [V11,T02] ( 4, 3 ) int -> r5 "ValNumCSE" ; ; Lcl frame size = 0 G_M14090_IG01: 000000 E92D 48F0 push {r4,r5,r6,r7,r11,lr} 000004 F10D 0B10 add r11, sp, 16 000008 4604 mov r4, r0 G_M14090_IG02: 00000A B28D uxth r5, r1 00000C 2D80 cmp r5, 128 00000E DA3C bge SHORT G_M14090_IG10 000010 7D60 ldrb r0, [r4+21] 000012 2800 cmp r0, 0 000014 D105 bne SHORT G_M14090_IG03 000016 4620 mov r0, r4 000018 F24F 633D movw r3, 0xf63d 00001C F6CA 7356 movt r3, 0xaf56 000020 4798 blx r3 // System.Globalization.TextInfo:PopulateIsAsciiCasingSameAsInvariant():this G_M14090_IG03: 000022 7D60 ldrb r0, [r4+21] 000024 2802 cmp r0, 2 000026 D005 beq SHORT G_M14090_IG06 000028 2801 cmp r0, 1 00002A D001 beq SHORT G_M14090_IG04 00002C 2000 movs r0, 0 00002E E000 b SHORT G_M14090_IG05 G_M14090_IG04: 000030 2001 movs r0, 1 G_M14090_IG05: 000032 E000 b SHORT G_M14090_IG07 G_M14090_IG06: 000034 2001 movs r0, 1 G_M14090_IG07: 000036 F241 0138 movw r1, 0x1038 00003A F2CB 2120 movt r1, 0xb220 00003E 680E ldr r6, [r1] 000040 4637 mov r7, r6 000042 B2C0 uxtb r0, r0 000044 2800 cmp r0, 0 000046 D115 bne SHORT G_M14090_IG08 000048 F642 4090 movw r0, 0x2c90 00004C F2CB 60F6 movt r0, 0xb6f6 000050 F240 51F7 movw r1, 0x5f7 000054 F24A 0359 movw r3, 0xa059 000058 F2CB 6354 movt r3, 0xb654 00005C 4798 blx r3 // CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE 00005E F640 20FC movw r0, 0xafc 000062 F2CB 2020 movt r0, 0xb220 000066 6800 ldr r0, [r0] 000068 4639 mov r1, r7 00006A 4632 mov r2, r6 00006C 6803 ldr r3, [r0] 00006E 6ADB ldr r3, [r3+44] 000070 691B ldr r3, [r3+16] 000072 4798 blx r3 // System.Diagnostics.DebugProvider:Fail(ref,ref):this G_M14090_IG08: 000074 7D60 ldrb r0, [r4+21] 000076 2802 cmp r0, 2 000078 D107 bne SHORT G_M14090_IG10 00007A 4628 mov r0, r5 00007C F24F 6319 movw r3, 0xf619 000080 F6CA 7356 movt r3, 0xaf56 000084 4798 blx r3 // System.Globalization.TextInfo:ToUpperAsciiInvariant(ushort):ushort G_M14090_IG09: 000086 E8BD 88F0 pop {r4,r5,r6,r7,r11,pc} G_M14090_IG10: 00008A 4629 mov r1, r5 00008C 4620 mov r0, r4 00008E 2201 movs r2, 1 000090 F24F 73C1 movw r3, 0xf7c1 000094 F6CA 7356 movt r3, 0xaf56 000098 4798 blx r3 // System.Globalization.TextInfo:ChangeCase(ushort,bool):ushort:this G_M14090_IG11: 00009A E8BD 88F0 pop {r4,r5,r6,r7,r11,pc} ; Assembly listing for method System.Globalization.TextInfo:ToUpperAsciiInvariant(ushort):ushort ; Emitting BLENDED_CODE for generic ARM CPU - Unix ; Tier-1 compilation ; optimized code ; sp based frame ; partially interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 5, 4.50) ushort -> r0 ;# V01 OutArgs [V01 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] "OutgoingArgSpace" ; V02 cse0 [V02,T01] ( 3, 2.50) int -> r3 "ValNumCSE" ; ; Lcl frame size = 4 G_M15653_IG01: 000000 B508 push {r3,lr} G_M15653_IG02: 000002 B283 uxth r3, r0 000004 F1A3 0261 sub r2, r3, 97 000008 2A19 cmp r2, 25 00000A D803 bhi SHORT G_M15653_IG03 00000C F06F 0020 mvn r0, 32 000010 4018 ands r0, r3 000012 B280 uxth r0, r0 G_M15653_IG03: 000014 B280 uxth r0, r0 G_M15653_IG04: 000016 BD08 pop {r3,pc} ; Assembly listing for method System.Globalization.TextInfo:ChangeCase(ushort,bool):ushort:this ; Emitting BLENDED_CODE for generic ARM CPU - Unix ; Tier-1 compilation ; optimized code ; r11 based frame ; partially interruptible ; Final local variable assignments ; ; V00 this [V00,T00] ( 3, 3 ) ref -> r0 this class-hnd ; V01 arg1 [V01 ] ( 3, 3 ) ushort -> [sp+0x0C] do-not-enreg[X] addr-exposed ld-addr-op ; V02 arg2 [V02,T01] ( 3, 3 ) bool -> r2 ; V03 loc0 [V03 ] ( 3, 3 ) ushort -> [sp+0x08] do-not-enreg[X] addr-exposed ld-addr-op ; V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 8) [sp+0x00] "OutgoingArgSpace" ;* V05 tmp1 [V05,T05] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ;* V06 tmp2 [V06,T03] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V07 tmp3 [V07,T04] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V08 tmp4 [V08 ] ( 0, 0 ) ref -> zero-ref "argument with side effect" ;* V09 cse0 [V09,T02] ( 0, 0 ) ref -> zero-ref "ValNumCSE" ; ; Lcl frame size = 16 G_M55859_IG01: 000000 E92D 4800 push {r11,lr} 000004 B084 sub sp, 16 000006 F10D 0B10 add r11, sp, 16 00000A 9103 str r1, [sp+0x0c] // [V01 arg1] G_M55859_IG02: 00000C 2100 movs r1, 0 00000E 9102 str r1, [sp+0x08] // [V03 loc0] 000010 2101 movs r1, 1 000012 9100 str r1, [sp] // [V04 OutArgs] 000014 B2D1 uxtb r1, r2 000016 9101 str r1, [sp+0x04] // [V04 OutArgs+0x04] 000018 A903 add r1, sp, 12 // [V01 arg1] 00001A AB02 add r3, sp, 8 // [V03 loc0] 00001C 2201 movs r2, 1 00001E F240 6ED9 movw lr, 0x6d9 000022 F6CA 7E62 movt lr, 0xaf62 000026 47F0 blx lr // System.Globalization.TextInfo:ChangeCase(int,int,int,int,bool):this 000028 9802 ldr r0, [sp+0x08] // [V03 loc0] 00002A B280 uxth r0, r0 G_M55859_IG03: 00002C B004 add sp, 16 00002E E8BD 8800 pop {r11,pc} ; Assembly listing for method System.Globalization.TextInfo:ChangeCase(int,int,int,int,bool):this ; Emitting BLENDED_CODE for generic ARM CPU - Unix ; Tier-1 compilation ; optimized code ; r11 based frame ; partially interruptible ; Final local variable assignments ; ; V00 this [V00,T00] ( 7, 5 ) ref -> r4 this class-hnd ; V01 arg1 [V01,T01] ( 5, 3.50) int -> r5 ; V02 arg2 [V02,T02] ( 5, 3.50) int -> r6 ; V03 arg3 [V03,T03] ( 5, 3.50) int -> r7 ; V04 arg4 [V04,T09] ( 3, 1.50) int -> r8 ; V05 arg5 [V05,T10] ( 3, 1.50) bool -> r9 ; V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 4) [sp+0x00] "OutgoingArgSpace" ; V07 tmp1 [V07,T08] ( 3, 1.50) ref -> r0 ;* V08 tmp2 [V08,T12] ( 0, 0 ) ref -> zero-ref ; V09 tmp3 [V09,T11] ( 3, 1.50) int -> r0 ;* V10 tmp4 [V10,T07] ( 0, 0 ) bool -> zero-ref "Inlining Arg" ;* V11 tmp5 [V11,T05] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V12 tmp6 [V12,T06] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V13 tmp7 [V13 ] ( 0, 0 ) ref -> zero-ref "argument with side effect" ;* V14 cse0 [V14,T04] ( 0, 0 ) ref -> zero-ref "ValNumCSE" ; ; Lcl frame size = 8 G_M55860_IG01: 000000 E92D 4BFC push {r2,r3,r4,r5,r6,r7,r8,r9,r11,lr} 000004 F10D 0B20 add r11, sp, 32 000008 4604 mov r4, r0 00000A 460D mov r5, r1 00000C 4616 mov r6, r2 00000E 461F mov r7, r3 000010 F8DD 8028 ldr r8, [sp+0x28] 000014 F8DD 902C ldr r9, [sp+0x2c] G_M55860_IG02: 000018 68A0 ldr r0, [r4+8] 00001A 6840 ldr r0, [r0+4] 00001C 2800 cmp r0, 0 00001E D10D bne SHORT G_M55860_IG04 000020 FA5F F089 uxtb r0, r9 000024 9000 str r0, [sp] 000026 4628 mov r0, r5 000028 4631 mov r1, r6 00002A 463A mov r2, r7 00002C 4643 mov r3, r8 00002E F240 4EF9 movw lr, 0x4f9 000032 F6CA 7E62 movt lr, 0xaf62 000036 47F0 blx lr // Globalization:ChangeCaseInvariant(int,int,int,int,bool) G_M55860_IG03: 000038 E8BD 8BFC pop {r2,r3,r4,r5,r6,r7,r8,r9,r11,pc} G_M55860_IG04: 00003C 7DA1 ldrb r1, [r4+22] 00003E 2900 cmp r1, 0 000040 D10C bne SHORT G_M55860_IG07 000042 4620 mov r0, r4 000044 6901 ldr r1, [r0+16] 000046 F240 63C1 movw r3, 0x6c1 00004A F6CA 7362 movt r3, 0xaf62 00004E 4798 blx r3 // System.Globalization.TextInfo:NeedsTurkishCasing(ref):bool:this 000050 2800 cmp r0, 0 000052 D101 bne SHORT G_M55860_IG05 000054 2001 movs r0, 1 000056 E000 b SHORT G_M55860_IG06 G_M55860_IG05: 000058 2002 movs r0, 2 G_M55860_IG06: 00005A 75A0 strb r0, [r4+22] G_M55860_IG07: 00005C 7DA0 ldrb r0, [r4+22] 00005E 2802 cmp r0, 2 000060 D10D bne SHORT G_M55860_IG09 000062 FA5F F089 uxtb r0, r9 000066 9000 str r0, [sp] 000068 4628 mov r0, r5 00006A 4631 mov r1, r6 00006C 463A mov r2, r7 00006E 4643 mov r3, r8 000070 F240 5E09 movw lr, 0x509 000074 F6CA 7E62 movt lr, 0xaf62 000078 47F0 blx lr // Globalization:ChangeCaseTurkish(int,int,int,int,bool) G_M55860_IG08: 00007A E8BD 8BFC pop {r2,r3,r4,r5,r6,r7,r8,r9,r11,pc} G_M55860_IG09: 00007E FA5F F089 uxtb r0, r9 000082 9000 str r0, [sp] 000084 4628 mov r0, r5 000086 4631 mov r1, r6 000088 463A mov r2, r7 00008A 4643 mov r3, r8 00008C F240 4EE9 movw lr, 0x4e9 000090 F6CA 7E62 movt lr, 0xaf62 000094 47F0 blx lr // Globalization:ChangeCase(int,int,int,int,bool) G_M55860_IG10: 000096 E8BD 8BFC pop {r2,r3,r4,r5,r6,r7,r8,r9,r11,pc}