rendered paste bodySetup: Frame.Dispose
LoadArg: 0
CallVirtual: Frame.Dispose at slot 6
CallInfos: StackTop: 2, ArgCount: 2, Signature argCount: 3
LoadArg: 0
CallMethod: GC.SuppressFinalize
CallInfos: StackTop: 1, ArgCount: 1, Signature argCount: 2
Return
function DotGNU.Images.Frame.Dispose(i1 : ptr, i2 : ptr) : void
incoming_frame_posn(i1, 8)
incoming_frame_posn(i2, 12)
.L0:
i5 = i2
.L4:
mark_offset(1)
.L5:
mark_offset(2)
check_null(i5)
i10 = load_relative_int(i5, -8)
i12 = load_relative_int(i10, 48)
i15 = load_relative_int(i12, 24)
if itrue(i15) then goto .L1
.L6:
push_int(1079747216)
.L7:
call_external ILRuntimeExceptionThrowClass (0x08054920)
ends_in_dead
.L8:
pop_stack(4)
.L1:
push_int(1)
push_int(i5)
push_int(i1)
outgoing_reg(i15, eax)
.L9:
call_vtable_ptr(i15)
.L10:
mark_offset(7)
i23 = i2
.L11:
mark_offset(8)
store_relative_int(i1, 1079943740, 40)
store_relative_int(i1, 0, 96)
push_int(i23)
push_int(i1)
.L12:
call_external System.GC.SuppressFinalize (0x0806ec60)
i31 = load_relative_int(i1, 56)
store_relative_int(i1, 1, 96)
pop_stack(20)
if ifalse(i31) then goto .L2
.L13:
push_int(i1)
.L14:
call_external ILRuntimeHandleManagedSafePointFlags (0x080549b0)
pop_stack(4)
.L2:
i37 = load_relative_int(i1, 48)
if ifalse(i37) then goto .L3
.L15:
call_external jit_exception_clear_last (0x0804c9f4)
throw(i37)
ends_in_dead
.L3:
.L16:
mark_offset(13)
return
ends_in_dead
end
function DotGNU.Images.Frame.Dispose(ptr, ptr) : void
/tmp/libjit-dump.o: file format elf32-i386
Disassembly of section .text:
40f02377 <.text>:
40f02377: 55 push %ebp
40f02378: 8b ec mov %esp,%ebp
40f0237a: 83 ec 0c sub $0xc,%esp
40f0237d: 53 push %ebx
40f0237e: 56 push %esi
40f0237f: 57 push %edi
40f02380: 8b 7d 08 mov 0x8(%ebp),%edi
40f02383: 8b 75 0c mov 0xc(%ebp),%esi
40f02386: 8b de mov %esi,%ebx
40f02388: 0b db or %ebx,%ebx
40f0238a: 75 07 jne 0x40f02393
40f0238c: 6a fb push $0xfffffffb
40f0238e: e8 6d 37 18 ff call 0x40085b00
40f02393: 8b 43 f8 mov 0xfffffff8(%ebx),%eax
40f02396: 8b 40 30 mov 0x30(%eax),%eax
40f02399: 8b 40 18 mov 0x18(%eax),%eax
40f0239c: 89 45 fc mov %eax,0xfffffffc(%ebp)
40f0239f: 0b c0 or %eax,%eax
40f023a1: 0f 85 0a 00 00 00 jne 0x40f023b1
40f023a7: 68 90 a2 5b 40 push $0x405ba290
40f023ac: e8 6f 25 15 c7 call 0x8054920
40f023b1: 6a 01 push $0x1
40f023b3: 53 push %ebx
40f023b4: 57 push %edi
40f023b5: 8b 45 fc mov 0xfffffffc(%ebp),%eax
40f023b8: ff d0 call *%eax
40f023ba: 8b c6 mov %esi,%eax
40f023bc: 89 45 f8 mov %eax,0xfffffff8(%ebp)
40f023bf: c7 47 28 3c a2 5e 40 movl $0x405ea23c,0x28(%edi)
40f023c6: c7 47 60 00 00 00 00 movl $0x0,0x60(%edi)
40f023cd: ff 75 f8 pushl 0xfffffff8(%ebp)
40f023d0: 57 push %edi
40f023d1: e8 8a c8 16 c7 call 0x806ec60
40f023d6: 8b 47 38 mov 0x38(%edi),%eax
40f023d9: c7 47 60 01 00 00 00 movl $0x1,0x60(%edi)
40f023e0: 83 c4 14 add $0x14,%esp
40f023e3: 0b c0 or %eax,%eax
40f023e5: 0f 84 09 00 00 00 je 0x40f023f4
40f023eb: 57 push %edi
40f023ec: e8 bf 25 15 c7 call 0x80549b0
40f023f1: 83 c4 04 add $0x4,%esp
40f023f4: 8b 47 30 mov 0x30(%edi),%eax
40f023f7: 89 45 f4 mov %eax,0xfffffff4(%ebp)
40f023fa: 0b c0 or %eax,%eax
40f023fc: 0f 84 0e 00 00 00 je 0x40f02410
40f02402: e8 ed a5 14 c7 call 0x804c9f4
40f02407: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
40f0240a: 50 push %eax
40f0240b: e8 a0 36 18 ff call 0x40085ab0
40f02410: 8b 5d f0 mov 0xfffffff0(%ebp),%ebx
40f02413: 8b 75 ec mov 0xffffffec(%ebp),%esi
40f02416: 8b 7d e8 mov 0xffffffe8(%ebp),%edi
40f02419: 8b e5 mov %ebp,%esp
40f0241b: 5d pop %ebp
40f0241c: c3 ret
end