Created
August 8, 2015 00:52
-
-
Save benpye/f042a230742a5c59b664 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Compiling 0 System.AppDomain::SetupDomain, IL size = 58, hsh=0x7a83b94f | |
; Assembly listing for method System.AppDomain:SetupDomain(bool,ref,ref,ref,ref):this | |
; Emitting BLENDED_CODE for generic ARM CPU | |
; optimized code | |
; r11 based frame | |
; fully interruptible | |
; Final local variable assignments | |
; | |
; V00 this [V00,T00] ( 6, 6 ) ref -> [sp+0x00] do-not-enreg[H] this | |
;* V01 arg1 [V01 ] ( 0, 0 ) bool -> zero ref | |
;* V02 arg2 [V02 ] ( 0, 0 ) ref -> zero ref | |
;* V03 arg3 [V03 ] ( 0, 0 ) ref -> zero ref | |
;* V04 arg4 [V04 ] ( 0, 0 ) ref -> zero ref | |
;* V05 arg5 [V05 ] ( 0, 0 ) ref -> zero ref | |
;* V06 loc0 [V06,T03] ( 0, 0 ) ref -> zero ref do-not-enreg[H] | |
; V07 loc1 [V07 ] ( 5, 5 ) bool -> [sp+0x04] do-not-enreg[XF] must-init addr-exposed | |
;* V08 loc2 [V08 ] ( 0, 0 ) ref -> zero ref | |
; V09 tmp0 [V09,T01] ( 4, 8 ) ref -> r12 | |
; V10 tmp1 [V10,T02] ( 2, 4 ) bool -> r0 | |
;# V11 OutArgs [V11 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] | |
; V12 PSPSym [V12 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[X] addr-exposed | |
; | |
; Lcl frame size = 16 | |
G_M18101_IG01: | |
000000 E92D 4800 push {r11,lr} | |
000004 B084 sub sp, 16 | |
000006 F10D 0B10 add r11, sp, 16 | |
00000A F04F 0C00 mov r12, 0 | |
00000E F8CD C004 str r12, [sp+0x04] // [V07 loc1] | |
000012 F10D 0C18 add r12, sp, 24 | |
000016 F8CD C00C str r12, [sp+0x0c] // [V12 PSPSym] | |
00001A 9000 str r0, [sp] // [V00 this] | |
G_M18101_IG02: | |
00001C 2300 movs r3, 0 | |
00001E 9301 str r3, [sp+0x04] // [V07 loc1] | |
G_M18101_IG03: | |
000020 F89D 3004 ldrb r3, [sp+0x04] // [V07 loc1] | |
000024 2200 movs r2, 0 | |
000026 4293 cmp r3, r2 | |
000028 D004 beq SHORT G_M18101_IG04 | |
00002A F248 7C91 movw r12, 0x8791 | |
00002E F2CB 3CA0 movt r12, 0xb3a0 | |
000032 47E0 blx r12 // System.Threading.Monitor:ThrowLockTakenException() | |
G_M18101_IG04: | |
000034 A901 add r1, sp, 4 // [V07 loc1] | |
000036 9800 ldr r0, [sp] // [V00 this] | |
000038 F24B 5CF5 movw r12, 0xb5f5 | |
00003C F2CB 5CD5 movt r12, 0xb5d5 | |
000040 47E0 blx r12 // System.Threading.Monitor:ReliableEnter(ref,byref) | |
000042 F89D 0004 ldrb r0, [sp+0x04] // [V07 loc1] | |
000046 2100 movs r1, 0 | |
000048 4288 cmp r0, r1 | |
00004A D108 bne SHORT G_M18101_IG05 | |
00004C 2004 movs r0, 4 | |
00004E 2100 movs r1, 0 | |
000050 2200 movs r2, 0 | |
000052 2300 movs r3, 0 | |
000054 F64D 1C05 movw r12, 0xd905 | |
000058 F2CB 3CA0 movt r12, 0xb3a0 | |
00005C 47E0 blx r12 // System.Diagnostics.Contracts.Contract:ReportFailure(int,ref,ref,ref) | |
G_M18101_IG05: | |
00005E 9800 ldr r0, [sp] // [V00 this] | |
000060 68C0 ldr r0, [r0+12] | |
000062 2300 movs r3, 0 | |
000064 4298 cmp r0, r3 | |
000066 D120 bne SHORT G_M18101_IG06 | |
000068 F645 30F4 movw r0, 0x5bf4 | |
00006C F2CB 100B movt r0, 0xb10b | |
000070 F246 4CDD movw r12, 0x64dd | |
000074 F2CB 5CD5 movt r12, 0xb5d5 | |
000078 47E0 blx r12 // CORINFO_HELP_NEWSFAST | |
00007A 4684 mov r12, r0 | |
00007C 2100 movs r1, 0 | |
00007E F8CC 102C str r1, [r12+44] | |
000082 F241 013C movw r1, 0x103c | |
000086 F2CB 2190 movt r1, 0xb290 | |
00008A 6809 ldr r1, [r1] | |
00008C F10C 0014 add r0, r12, 20 | |
000090 F24B 2C81 movw r12, 0xb281 | |
000094 F2CB 5CDE movt r12, 0xb5de | |
000098 47E0 blx r12 // CORINFO_HELP_ASSIGN_REF | |
00009A 9800 ldr r0, [sp] // [V00 this] | |
00009C 4661 mov r1, r12 | |
00009E 2200 movs r2, 0 | |
0000A0 F648 2C21 movw r12, 0x8a21 | |
0000A4 F2CB 3CA0 movt r12, 0xb3a0 | |
0000A8 47E0 blx r12 // System.AppDomain:SetupFusionStore(ref,ref):this | |
G_M18101_IG06: | |
0000AA F64D 2E5B movw lr, LOW ADDRESS G_M18101_IG08 | |
0000AE F2CB 3EA0 movt lr, HIGH ADDRESS G_M18101_IG08 | |
0000B2 E004 b SHORT G_M18101_IG09 | |
G_M18101_IG07: | |
0000B4 BF00 nop | |
G_M18101_IG08: | |
0000B6 B004 add sp, 16 | |
0000B8 E8BD 4800 pop {r11,lr} | |
0000BC 4770 bx lr | |
G_M18101_IG09: | |
0000BE E92D 480C push {r2,r3,r11,lr} | |
0000C2 F10B 0308 add r3, r11, 8 | |
0000C6 9301 str r3, [sp+0x04] | |
G_M18101_IG10: | |
0000C8 F85B 0C0C ldr r0, [r11-0x0c] // [V07 loc1] | |
0000CC B2C0 uxtb r0, r0 | |
0000CE 2300 movs r3, 0 | |
0000D0 4298 cmp r0, r3 | |
0000D2 D006 beq SHORT G_M18101_IG11 | |
0000D4 F85B 0C10 ldr r0, [r11-0x10] // [V00 this] | |
0000D8 F64B 3C6D movw r12, 0xbb6d | |
0000DC F2CB 5CD5 movt r12, 0xb5d5 | |
0000E0 47E0 blx r12 // System.Threading.Monitor:Exit(ref) | |
G_M18101_IG11: | |
0000E2 E8BD 880C pop {r2,r3,r11,pc} | |
; Total bytes of code 230, prolog size 28 for method System.AppDomain:SetupDomain(bool,ref,ref,ref,ref):this | |
; ============================================================ | |
Compiling 1 System.AppDomain::SetupFusionStore, IL size = 71, hsh=0xc5141dd8 | |
; Assembly listing for method System.AppDomain:SetupFusionStore(ref,ref):this | |
; Emitting BLENDED_CODE for generic ARM CPU | |
; optimized code | |
; r11 based frame | |
; partially interruptible | |
; Final local variable assignments | |
; | |
; V00 this [V00,T01] ( 5, 4.5) ref -> r5 this | |
; V01 arg1 [V01,T00] ( 11, 9.7) ref -> r4 | |
; V02 arg2 [V02,T03] ( 4, 3 ) ref -> r6 | |
; V03 tmp0 [V03,T07] ( 2, 2 ) int -> r0 | |
; V04 tmp1 [V04,T02] ( 3, 6 ) ref -> r0 | |
; V05 tmp2 [V05,T08] ( 1, 2 ) ref -> r0 | |
; V06 tmp3 [V06,T04] ( 2, 4 ) ref -> r1 | |
; V07 tmp4 [V07,T06] ( 2, 2 ) ref -> r1 | |
;# V08 OutArgs [V08 ] ( 1, 1 ) lclBlk ( 0) [sp+0x00] | |
; V09 cse0 [V09,T05] ( 4, 3 ) int -> r1 | |
; | |
; Lcl frame size = 4 | |
G_M57902_IG01: | |
000000 E92D 4878 push {r3,r4,r5,r6,r11,lr} | |
000004 F10D 0B10 add r11, sp, 16 | |
000008 4605 mov r5, r0 | |
00000A 460C mov r4, r1 | |
00000C 4616 mov r6, r2 | |
G_M57902_IG02: | |
00000E 6820 ldr r0, [r4] | |
000010 6860 ldr r0, [r4+4] | |
000012 2100 movs r1, 0 | |
000014 4288 cmp r0, r1 | |
000016 D110 bne SHORT G_M57902_IG03 | |
000018 F642 0076 movw r0, 0x2876 | |
00001C F2CB 1007 movt r0, 0xb107 | |
000020 2112 movs r1, 18 | |
000022 F646 7C2D movw r12, 0x6f2d | |
000026 F2CB 5CD5 movt r12, 0xb5d5 | |
00002A 47E0 blx r12 // CORINFO_HELP_NEWARR_1_OBJ | |
00002C 4601 mov r1, r0 | |
00002E 1D20 adds r0, r4, 4 | |
000030 F24B 2C81 movw r12, 0xb281 | |
000034 F2CB 5CDE movt r12, 0xb5de | |
000038 47E0 blx r12 // CORINFO_HELP_ASSIGN_REF | |
G_M57902_IG03: | |
00003A 4620 mov r0, r4 | |
00003C 6860 ldr r0, [r4+4] | |
00003E 6841 ldr r1, [r0+4] | |
000040 2200 movs r2, 0 | |
000042 428A cmp r2, r1 | |
000044 D238 bhs SHORT G_M57902_IG08 | |
000046 6881 ldr r1, [r0+8] | |
000048 4620 mov r0, r4 | |
00004A F249 1CB1 movw r12, 0x91b1 | |
00004E F2CB 3CA0 movt r12, 0xb3a0 | |
000052 47E0 blx r12 // System.AppDomainSetup:VerifyDir(ref,bool):ref:this | |
000054 2300 movs r3, 0 | |
000056 4298 cmp r0, r3 | |
000058 D10C bne SHORT G_M57902_IG04 | |
00005A F240 6CC5 movw r12, 0x6c5 | |
00005E F2CB 6C10 movt r12, 0xb610 | |
000062 47E0 blx r12 // System.Runtime.InteropServices.RuntimeEnvironment:GetModuleFileName():ref | |
000064 4601 mov r1, r0 | |
000066 4620 mov r0, r4 | |
000068 2201 movs r2, 1 | |
00006A F249 0CCD movw r12, 0x90cd | |
00006E F2CB 3CA0 movt r12, 0xb3a0 | |
000072 47E0 blx r12 // System.AppDomainSetup:SetupDefaults(ref,bool):this | |
G_M57902_IG04: | |
000074 4628 mov r0, r5 | |
000076 F241 7CFD movw r12, 0x17fd | |
00007A F2CB 5CFB movt r12, 0xb5fb | |
00007E 47E0 blx r12 // System.AppDomain:nCreateContext():this | |
000080 6AE1 ldr r1, [r4+44] | |
000082 2000 movs r0, 0 | |
000084 4281 cmp r1, r0 | |
000086 D106 bne SHORT G_M57902_IG05 | |
000088 2000 movs r0, 0 | |
00008A 4286 cmp r6, r0 | |
00008C D009 beq SHORT G_M57902_IG06 | |
00008E 4608 mov r0, r1 | |
000090 6AF3 ldr r3, [r6+44] | |
000092 4298 cmp r0, r3 | |
000094 D005 beq SHORT G_M57902_IG06 | |
G_M57902_IG05: | |
000096 4628 mov r0, r5 | |
000098 F640 5C49 movw r12, 0xd49 | |
00009C F2CB 5CFB movt r12, 0xb5fb | |
0000A0 47E0 blx r12 // System.AppDomain:UpdateLoaderOptimization(int):this | |
G_M57902_IG06: | |
0000A2 F105 000C add r0, r5, 12 | |
0000A6 4621 mov r1, r4 | |
0000A8 F24B 2C81 movw r12, 0xb281 | |
0000AC F2CB 5CDE movt r12, 0xb5de | |
0000B0 47E0 blx r12 // CORINFO_HELP_ASSIGN_REF | |
G_M57902_IG07: | |
0000B2 E8BD 4878 pop {r3,r4,r5,r6,r11,lr} | |
0000B6 4770 bx lr | |
G_M57902_IG08: | |
0000B8 F24F 3C35 movw r12, 0xf335 | |
0000BC F2CB 5CD5 movt r12, 0xb5d5 | |
0000C0 47E0 blx r12 // CORINFO_HELP_RNGCHKFAIL | |
0000C2 DEFE bkpt | |
; Total bytes of code 196, prolog size 8 for method System.AppDomain:SetupFusionStore(ref,ref):this | |
; ============================================================ | |
Program received signal SIGSEGV, Segmentation fault. | |
0xb3a0daee in ?? () |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment