Created
August 5, 2015 22:44
-
-
Save benpye/a4fcc0154c6d69efe875 to your computer and use it in GitHub Desktop.
This file contains hidden or 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 F249 7C91 movw r12, 0x9791 | |
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 F24C 5CF5 movw r12, 0xc5f5 | |
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 F64E 1C05 movw r12, 0xe905 | |
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 F247 4CDD movw r12, 0x74dd | |
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 F24C 2C81 movw r12, 0xc281 | |
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 F649 2C21 movw r12, 0x9a21 | |
0000A4 F2CB 3CA0 movt r12, 0xb3a0 | |
0000A8 47E0 blx r12 // System.AppDomain:SetupFusionStore(ref,ref):this | |
G_M18101_IG06: | |
0000AA F64E 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 F64C 3C6D movw r12, 0xcb6d | |
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 | |
Assert failure(PID 10208 [0x000027e0], Thread: 10208 [0x27e0]): Assertion failed '!varDsc->lvIsRegCandidate()' in 'System.AppDomain:SetupFusionStore(ref,ref):this' (IL size 71) | |
File: /home/ubuntu/git/coreclr/src/jit/codegenarm.cpp Line: 725 | |
Image: /home/ubuntu/git/coreclr/bin/Product/Linux.arm.Debug/corerun | |
Program received signal SIGTRAP, Trace/breakpoint trap. | |
0xb63885fc in DBG_DebugBreak () at /home/ubuntu/git/coreclr/src/pal/src/thread/context.cpp:1293 | |
1293 __asm__ __volatile__(".inst.w 0xde01"); | |
(gdb) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment