// fromClean6.c: contents copied and modified from cg.exe
//
// copy_string_to_graph2 :: !String !Int !GlobalDynamicInfoDummy -> (.a,!Int)
// copy_string_to_graph2 adr graph_i gdid
// 		= abort "copy_string_to_graph2"
//
// the code following this code should be the function copy_string_to_graph
// do a find on "graph2" replace by "graph__0x00010101"

	.data
	.align 4
	// module name
m__StdDynamic:
	.long	10
	.ascii	"StdDynamic"
	.byte	0,0
	
	// descriptor	
	.long	m__StdDynamic
	.align	4
	.long	CLEAN_dcopy_string_to_graph+2
	.word	0
	.word	3
	.globl	CLEAN_dcopy_string_to_graph
CLEAN_dcopy_string_to_graph:
	.word	0
	.word	0
	.long	yet_args_needed_0
	.word	1
	.word	8
	.long	yet_args_needed_1
	.word	2
	.word	16
	.long	CLEAN_lcopy_string_to_graph
	.word	3
	.word	24
i_44:
l_13:
	.long	21
	.ascii	"copy_string_to_g"
	.ascii	"raph2"
	.byte	0,0,0
	
	// .text
	.text
	.align 	4
CLEAN_lcopy_string_to_graph:
	movl	%ecx,(%esi)
	movl	8(%edx),%ecx
	movl	4(%edx),%edx
	leal	4(%esi),%esi
	call	eacopy__string__to__graph__0x00010101_P22
	cmpl	end_heap,%edi
	jae	i_133
i_134:
	movl	$INT+2,(%edi)
	movl	%eax,4(%edi)
	movl	%edi,%eax
	movl	$__Tuple+18,8(%edi)
	movl	%ecx,12(%edi)
	movl	%eax,16(%edi)
	leal	8(%edi),%ecx
	addl	$20,%edi
	ret

	// garbage collection entries		
i_133:
	call	collect_1
	jmp		i_134
i_135:
	call	collect_1
	jmp		i_136

	.align	4
	.long	CLEAN_dcopy_string_to_graph
	.long	3
	.globl	CLEAN_ncopy_string_to_graph
CLEAN_ncopy_string_to_graph:
	movl	12(%ecx),%ebp
	movl	%ebp,4(%esi)
	movl	%ecx,(%esi)
	movl	$__cycle__in__spine,(%ecx)
	movl	4(%ecx),%edx
	movl	8(%ecx),%ecx
	leal	8(%esi),%esi
	call	eacopy__string__to__graph__0x00010101_P22
	cmpl	end_heap,%edi
	jae	i_135
i_136:
	movl	$INT+2,(%edi)
	movl	%eax,4(%edi)
	movl	%edi,%eax
	movl	-4(%esi),%edx
	movl	$__Tuple+18,(%edx)
	movl	%ecx,4(%edx)
	movl	%eax,8(%edx)
	movl	%edx,%ecx
	addl	$8,%edi
	leal	-4(%esi),%esi
	ret
	.globl	CLEAN_scopy_string_to_graph
CLEAN_scopy_string_to_graph:
	movl	4(%ecx),%ecx
	jmp	scopy__string__to__graph__0x00010101_P22
eacopy__string__to__graph__0x00010101_P22:
	movl	%ecx,(%esi)
	movl	%edx,%ecx
	movl	-4(%esi),%edx
	leal	4(%esi),%esi
	testb	$2,(%edx)
	jne	e_10
	movl	%ecx,(%esi)
	addl	$4,%esi
	movl	%edx,%ecx
	call	(%edx)
	movl	%ecx,%edx
	movl	-4(%esi),%ecx
	subl	$4,%esi
e_10:
	movl	%ecx,%edx
	movl	-4(%esi),%ecx
	leal	-4(%esi),%esi
	testb	$2,(%ecx)
	jne	e_11
	movl	%edx,(%esi)
	addl	$4,%esi
	call	(%ecx)
	movl	-4(%esi),%edx
	subl	$4,%esi
e_11:
	testb	$2,(%edx)
	jne	e_12
	movl	%ecx,(%esi)
	addl	$4,%esi
	movl	%edx,%ecx
	call	(%edx)
	movl	%ecx,%edx
	movl	-4(%esi),%ecx
	subl	$4,%esi
e_12:
	movl	4(%ecx),%eax
	movl	4(%edx),%edx
	movl	-4(%esi),%ecx
	movl	4(%ecx),%ecx
	leal	-4(%esi),%esi
scopy__string__to__graph__0x00010101_P22:	
//	int3