All pastes #166186 Raw Edit

Something

public text v1 · immutable
·published 2006-09-10 17:18 UTC
rendered paste body
Setup: 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