.text
.globl ap_2
.globl ap_3
.globl ap_4
.globl ap_5
.globl ap_6
.globl ap_7
.globl ap_8
.globl ap_9
.globl ap_10
.globl ap_11
.globl ap_12
.globl ap_13
.globl ap_14
.globl ap_15
.globl ap_16
.globl ap_17
.globl ap_18
.globl ap_19
.globl ap_20
.globl ap_21
.globl ap_22
.globl ap_23
.globl ap_24
.globl ap_25
.globl ap_26
.globl ap_27
.globl ap_28
.globl ap_29
.globl ap_30
.globl ap_31
.globl ap_32
.globl add_empty_node_2
.globl add_empty_node_3
.globl add_empty_node_4
.globl add_empty_node_5
.globl add_empty_node_6
.globl add_empty_node_7
.globl add_empty_node_8
.globl add_empty_node_9
.globl add_empty_node_10
.globl add_empty_node_11
.globl add_empty_node_12
.globl add_empty_node_13
.globl add_empty_node_14
.globl add_empty_node_15
.globl add_empty_node_16
.globl add_empty_node_17
.globl add_empty_node_18
.globl add_empty_node_19
.globl add_empty_node_20
.globl add_empty_node_21
.globl add_empty_node_22
.globl add_empty_node_23
.globl add_empty_node_24
.globl add_empty_node_25
.globl add_empty_node_26
.globl add_empty_node_27
.globl add_empty_node_28
.globl add_empty_node_29
.globl add_empty_node_30
.globl add_empty_node_31
.globl add_empty_node_32
.globl yet_args_needed_5
.globl yet_args_needed_6
.globl yet_args_needed_7
.globl yet_args_needed_8
.globl yet_args_needed_9
.globl yet_args_needed_10
.globl yet_args_needed_11
.globl yet_args_needed_12
.globl yet_args_needed_13
.globl yet_args_needed_14
.globl yet_args_needed_15
.globl yet_args_needed_16
.globl yet_args_needed_17
.globl yet_args_needed_18
.globl yet_args_needed_19
.globl yet_args_needed_20
.globl yet_args_needed_21
.globl yet_args_needed_22
.globl yet_args_needed_23
.globl yet_args_needed_24
.globl yet_args_needed_25
.globl yet_args_needed_26
.globl yet_args_needed_27
.globl yet_args_needed_28
.globl yet_args_needed_29
.globl yet_args_needed_30
.globl yet_args_needed_31
ap_32:
movl (a1),a2
movl $32*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_31:
movl (a1),a2
movl $31*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_30:
movl (a1),a2
movl $30*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_29:
movl (a1),a2
movl $29*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_28:
movl (a1),a2
movl $28*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_27:
movl (a1),a2
movl $27*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_26:
movl (a1),a2
movl $26*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_25:
movl (a1),a2
movl $25*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_24:
movl (a1),a2
movl $24*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_23:
movl (a1),a2
movl $23*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_22:
movl (a1),a2
movl $22*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_21:
movl (a1),a2
movl $21*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_20:
movl (a1),a2
movl $20*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_19:
movl (a1),a2
movl $19*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_18:
movl (a1),a2
movl $18*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_17:
movl (a1),a2
movl $17*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_16:
movl (a1),a2
movl $16*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_15:
movl (a1),a2
movl $15*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_14:
movl (a1),a2
movl $14*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_13:
movl (a1),a2
movl $13*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_12:
movl (a1),a2
movl $12*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_11:
movl (a1),a2
movl $11*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_10:
movl (a1),a2
movl $10*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_9:
movl (a1),a2
movl $9*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_8:
movl (a1),a2
movl $8*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_7:
movl (a1),a2
movl $7*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_6:
movl (a1),a2
movl $6*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_5:
movl (a1),a2
movl $5*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_4:
movl (a1),a2
movl $4*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_3:
movl (a1),a2
movl $3*8,d1
cmpw d1w,(a2)
je fast_ap
call *2(a2)
movl a0,a1
movl -4(a3),a0
subl $4,a3
ap_2:
movl (a1),a2
movl $2*8,d1
cmpw d1w,(a2)
jne no_fast_ap2
fast_ap:
addl a2,d1
movzwl -2(a2),d0
movl -6(d1),a2
#ifdef PROFILE
subl $20,a2
#else
subl $12,a2
#endif
cmpl $1,d0
jb repl_args_0
je repl_args_1
movl a0,(a3)
addl $4,a3
movl 8(a1),a0
cmpl $3,d0
jb repl_args_2
movl 4(a1),a1
je repl_args_3
cmpl $5,d0
jb repl_args_4
je repl_args_5
cmpl $7,d0
jb repl_args_6
push d1
repl_args_7_:
movl -8(a0,d0,4),d1
movl d1,(a3)
subl $1,d0
addl $4,a3
cmpl $6,d0
jne repl_args_7_
pop d1
repl_args_6:
movl 16(a0),d0
movl d0,(a3)
movl 12(a0),d0
movl d0,4(a3)
movl 8(a0),d0
movl d0,8(a3)
movl 4(a0),d0
movl (a0),a0
movl d0,12(a3)
addl $16,a3
jmp *a2
repl_args_0:
movl a0,a1
movl -4(a3),a0
subl $4,a3
jmp *a2
repl_args_1:
movl 4(a1),a1
jmp *a2
repl_args_2:
movl 4(a1),a1
jmp *a2
repl_args_3:
movl 4(a0),d0
movl (a0),a0
movl d0,(a3)
addl $4,a3
jmp *a2
repl_args_4:
movl 8(a0),d0
movl d0,(a3)
movl 4(a0),d0
movl (a0),a0
movl d0,4(a3)
addl $8,a3
jmp *a2
repl_args_5:
movl 12(a0),d0
movl d0,(a3)
movl 8(a0),d0
movl d0,4(a3)
movl 4(a0),d0
movl (a0),a0
movl d0,8(a3)
addl $12,a3
jmp *a2
no_fast_ap2:
call *2(a2)
movl (a0),a2
movl a0,a1
movl -4(a3),a0
subl $4,a3
jmp *2(a2)
add_empty_node_2:
cmpl end_heap,a4
jae add_empty_node_2_gc
add_empty_node_2_gc_:
movl a4,(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_2_gc:
call collect_2
jmp add_empty_node_2_gc_
add_empty_node_3:
cmpl end_heap,a4
jae add_empty_node_3_gc
add_empty_node_3_gc_:
movl -4(a3),a2
movl a2,(a3)
movl a4,-4(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_3_gc:
call collect_2
jmp add_empty_node_3_gc_
add_empty_node_4:
cmpl end_heap,a4
jae add_empty_node_4_gc
add_empty_node_4_gc_:
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl a4,-8(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_4_gc:
call collect_2
jmp add_empty_node_4_gc_
add_empty_node_5:
cmpl end_heap,a4
jae add_empty_node_5_gc
add_empty_node_5_gc_:
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl -12(a3),a2
movl a2,-8(a3)
movl a4,-12(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_5_gc:
call collect_2
jmp add_empty_node_5_gc_
add_empty_node_6:
cmpl end_heap,a4
jae add_empty_node_6_gc
add_empty_node_6_gc_:
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl -12(a3),a2
movl a2,-8(a3)
movl -16(a3),a2
movl a2,-12(a3)
movl a4,-16(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_6_gc:
call collect_2
jmp add_empty_node_6_gc_
add_empty_node_7:
cmpl end_heap,a4
jae add_empty_node_7_gc
add_empty_node_7_gc_:
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl -12(a3),a2
movl a2,-8(a3)
movl -16(a3),a2
movl a2,-12(a3)
movl -20(a3),a2
movl a2,-16(a3)
movl a4,-20(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_7_gc:
call collect_2
jmp add_empty_node_7_gc_
add_empty_node_8:
cmpl end_heap,a4
jae add_empty_node_8_gc
add_empty_node_8_gc_:
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl -12(a3),a2
movl a2,-8(a3)
movl -16(a3),a2
movl a2,-12(a3)
movl -20(a3),a2
movl a2,-16(a3)
movl -24(a3),a2
movl a2,-20(a3)
movl a4,-24(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_8_gc:
call collect_2
jmp add_empty_node_8_gc_
add_empty_node_9:
cmpl end_heap,a4
jae add_empty_node_9_gc
add_empty_node_9_gc_:
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl -12(a3),a2
movl a2,-8(a3)
movl -16(a3),a2
movl a2,-12(a3)
movl -20(a3),a2
movl a2,-16(a3)
movl -24(a3),a2
movl a2,-20(a3)
movl -28(a3),a2
movl a2,-24(a3)
movl a4,-28(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_9_gc:
call collect_2
jmp add_empty_node_9_gc_
add_empty_node_10:
cmpl end_heap,a4
jae add_empty_node_10_gc
add_empty_node_10_gc_:
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl -12(a3),a2
movl a2,-8(a3)
movl -16(a3),a2
movl a2,-12(a3)
movl -20(a3),a2
movl a2,-16(a3)
movl -24(a3),a2
movl a2,-20(a3)
movl -28(a3),a2
movl a2,-24(a3)
movl -32(a3),a2
movl a2,-28(a3)
movl a4,-32(a3)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_10_gc:
call collect_2
jmp add_empty_node_10_gc_
add_empty_node_31:
movl $7,d1
jmp add_empty_node_11_
add_empty_node_27:
movl $6,d1
jmp add_empty_node_11_
add_empty_node_23:
movl $5,d1
jmp add_empty_node_11_
add_empty_node_19:
movl $4,d1
jmp add_empty_node_11_
add_empty_node_15:
movl $3,d1
jmp add_empty_node_11_
add_empty_node_11:
movl $2,d1
add_empty_node_11_:
cmpl end_heap,a4
jae add_empty_node_11_gc
add_empty_node_11_gc_:
movl a3,d0
movl -4(a3),a2
movl a2,(a3)
add_empty_node_11_lp:
movl -8(d0),a2
movl a2,-4(d0)
movl -12(d0),a2
movl a2,-8(d0)
movl -16(d0),a2
movl a2,-12(d0)
movl -20(d0),a2
movl a2,-16(d0)
subl $16,d0
subl $1,d1
jne add_empty_node_11_lp
movl a4,-4(d0)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_11_gc:
call collect_2
jmp add_empty_node_11_gc_
add_empty_node_32:
movl $7,d1
jmp add_empty_node_12_
add_empty_node_28:
movl $6,d1
jmp add_empty_node_12_
add_empty_node_24:
movl $5,d1
jmp add_empty_node_12_
add_empty_node_20:
movl $4,d1
jmp add_empty_node_12_
add_empty_node_16:
movl $3,d1
jmp add_empty_node_12_
add_empty_node_12:
movl $2,d1
add_empty_node_12_:
cmpl end_heap,a4
jae add_empty_node_12_gc
add_empty_node_12_gc_:
movl a3,d0
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
add_empty_node_12_lp:
movl -12(d0),a2
movl a2,-8(d0)
movl -16(d0),a2
movl a2,-12(d0)
movl -20(d0),a2
movl a2,-16(d0)
movl -24(d0),a2
movl a2,-20(d0)
subl $16,d0
subl $1,d1
jne add_empty_node_12_lp
movl a4,-8(d0)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_12_gc:
call collect_2
jmp add_empty_node_12_gc_
add_empty_node_29:
movl $6,d1
jmp add_empty_node_13_
add_empty_node_25:
movl $5,d1
jmp add_empty_node_13_
add_empty_node_21:
movl $4,d1
jmp add_empty_node_13_
add_empty_node_17:
movl $3,d1
jmp add_empty_node_13_
add_empty_node_13:
movl $2,d1
add_empty_node_13_:
cmpl end_heap,a4
jae add_empty_node_13_gc
add_empty_node_13_gc_:
movl a3,d0
movl -4(a3),a2
movl a2,(a3)
movl -8(a3),a2
movl a2,-4(a3)
movl -12(a3),a2
movl a2,-8(a3)
add_empty_node_13_lp:
movl -16(d0),a2
movl a2,-12(d0)
movl -20(d0),a2
movl a2,-16(d0)
movl -24(d0),a2
movl a2,-20(d0)
movl -28(d0),a2
movl a2,-24(d0)
subl $16,d0
subl $1,d1
jne add_empty_node_13_lp
movl a4,-12(d0)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_13_gc:
call collect_2
jmp add_empty_node_13_gc_
add_empty_node_30:
movl $7,d1
jmp add_empty_node_14_
add_empty_node_26:
movl $6,d1
jmp add_empty_node_14_
add_empty_node_22:
movl $5,d1
jmp add_empty_node_14_
add_empty_node_18:
movl $4,d1
jmp add_empty_node_14_
add_empty_node_14:
movl $3,d1
jmp add_empty_node_14_
add_empty_node_14_:
cmpl end_heap,a4
jae add_empty_node_14_gc
add_empty_node_14_gc_:
movl a3,d0
add_empty_node_14_lp:
movl -4(d0),a2
movl a2,(d0)
movl -8(d0),a2
movl a2,-4(d0)
movl -12(d0),a2
movl a2,-8(d0)
movl -16(d0),a2
movl a2,-12(d0)
subl $16,d0
subl $1,d1
jne add_empty_node_14_lp
movl a4,(d0)
movl $__cycle__in__spine,(a4)
addl $12,a4
addl $4,a3
ret
add_empty_node_14_gc:
call collect_2
jmp add_empty_node_14_gc_
yet_args_needed_0:
cmpl end_heap,a4
jae yet_args_needed_0_gc
yet_args_needed_0_gc_r:
mov a0,4(a4)
mov (a1),d0
mov a4,a0
add $8,d0
mov d0,(a4)
add $8,a4
ret
yet_args_needed_0_gc:
call collect_2
jmp yet_args_needed_0_gc_r
align (2)
cmpl end_heap,a4
jmp build_node_2
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_1:
cmpl end_heap,a4
jae yet_args_needed_1_gc
yet_args_needed_1_gc_r:
mov a0,8(a4)
mov (a1),d0
mov a4,a0
add $8,d0
mov d0,(a4)
mov 4(a1),d1
mov d1,4(a4)
add $12,a4
ret
yet_args_needed_1_gc:
call collect_2
jmp yet_args_needed_1_gc_r
build_node_2:
jae build_node_2_gc
build_node_2_gc_r:
movl d1,(a4)
movl a1,4(a4)
movl a0,8(a4)
movl a4,a0
addl $12,a4
ret
build_node_2_gc:
call collect_2
jmp build_node_2_gc_r
align (2)
cmpl end_heap,a4
jmp build_node_3
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_2:
cmpl end_heap,a4
jae gc_22
gc_r_22:
mov (a1),d0
mov a0,4(a4)
add $8,d0
mov 4(a1),a2
mov d0,8(a4)
lea 8(a4),a0
mov a2,12(a4)
mov 8(a1),a2
mov a2,(a4)
mov a4,16(a4)
add $20,a4
ret
gc_22: call collect_2
jmp gc_r_22
build_node_3:
jae build_node_3_gc
build_node_3_gc_r:
movl d1,(a4)
lea 12(a4),a2
movl a1,4(a4)
movl a2,8(a4)
movl a0,12(a4)
movl a4,a0
movl -4(a3),a2
subl $4,a3
movl a2,16(a4)
addl $20,a4
ret
build_node_3_gc:
call collect_2
jmp build_node_3_gc_r
align (2)
cmpl end_heap,a4
jmp build_node_4
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_3:
cmpl end_heap,a4
jae gc_23
gc_r_23:
mov (a1),d0
mov a0,8(a4)
add $8,d0
mov 4(a1),a2
mov d0,12(a4)
mov 8(a1),a1
mov a2,16(a4)
mov (a1),a2
mov a4,20(a4)
mov a2,(a4)
mov 4(a1),a2
lea 12(a4),a0
mov a2,4(a4)
add $24,a4
ret
gc_23: call collect_2
jmp gc_r_23
build_node_4:
jae build_node_4_gc
build_node_4_gc_r:
movl d1,(a4)
lea 12(a4),a2
movl a1,4(a4)
movl a2,8(a4)
movl a0,12(a4)
movl a4,a0
movl -4(a3),a2
movl a2,16(a4)
movl -8(a3),a2
subl $8,a3
movl a2,20(a4)
addl $24,a4
ret
build_node_4_gc:
call collect_2
jmp build_node_4_gc_r
align (2)
cmpl end_heap,a4
jmp build_node_5
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_4:
cmpl end_heap,a4
jae gc_24
gc_r_24:
mov (a1),d0
mov a0,12(a4)
add $8,d0
mov 4(a1),a2
mov d0,16(a4)
mov 8(a1),a1
mov a2,20(a4)
mov (a1),a2
mov a4,24(a4)
mov a2,(a4)
mov 4(a1),a2
lea 16(a4),a0
mov a2,4(a4)
mov 8(a1),a2
mov a2,8(a4)
add $28,a4
ret
gc_24: call collect_2
jmp gc_r_24
build_node_5:
jae build_node_5_gc
build_node_5_gc_r:
movl d1,(a4)
lea 12(a4),a2
movl a1,4(a4)
movl a2,8(a4)
movl a0,12(a4)
movl a4,a0
movl -4(a3),a2
movl a2,16(a4)
movl -8(a3),a2
movl a2,20(a4)
movl -12(a3),a2
subl $12,a3
movl a2,24(a4)
addl $28,a4
ret
build_node_5_gc:
call collect_2
jmp build_node_5_gc_r
align (2)
movl $6,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_5:
mov (a1),d1
movl $8,d0
jmp yet_args_needed_
align (2)
movl $7,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_6:
mov (a1),d1
movl $9,d0
jmp yet_args_needed_
align (2)
movl $8,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_7:
mov (a1),d1
movl $10,d0
jmp yet_args_needed_
align (2)
movl $9,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_8:
mov (a1),d1
movl $11,d0
jmp yet_args_needed_
align (2)
movl $10,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_9:
mov (a1),d1
movl $12,d0
jmp yet_args_needed_
align (2)
movl $11,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_10:
mov (a1),d1
movl $13,d0
jmp yet_args_needed_
align (2)
movl $12,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_11:
mov (a1),d1
movl $14,d0
jmp yet_args_needed_
align (2)
movl $13,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_12:
mov (a1),d1
movl $15,d0
jmp yet_args_needed_
align (2)
movl $14,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_13:
mov (a1),d1
movl $16,d0
jmp yet_args_needed_
align (2)
movl $15,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_14:
mov (a1),d1
movl $17,d0
jmp yet_args_needed_
align (2)
movl $16,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_15:
mov (a1),d1
movl $18,d0
jmp yet_args_needed_
align (2)
movl $17,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_16:
mov (a1),d1
movl $19,d0
jmp yet_args_needed_
align (2)
movl $18,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_17:
mov (a1),d1
movl $20,d0
jmp yet_args_needed_
align (2)
movl $19,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_18:
mov (a1),d1
movl $21,d0
jmp yet_args_needed_
align (2)
movl $20,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_19:
mov (a1),d1
movl $22,d0
jmp yet_args_needed_
align (2)
movl $21,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_20:
mov (a1),d1
movl $23,d0
jmp yet_args_needed_
align (2)
movl $22,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_21:
mov (a1),d1
movl $24,d0
jmp yet_args_needed_
align (2)
movl $23,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_22:
mov (a1),d1
movl $25,d0
jmp yet_args_needed_
align (2)
movl $24,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_23:
mov (a1),d1
movl $26,d0
jmp yet_args_needed_
align (2)
movl $25,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_24:
mov (a1),d1
movl $27,d0
jmp yet_args_needed_
align (2)
movl $26,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_25:
mov (a1),d1
movl $28,d0
jmp yet_args_needed_
align (2)
movl $27,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_26:
mov (a1),d1
movl $29,d0
jmp yet_args_needed_
align (2)
movl $28,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_27:
mov (a1),d1
movl $30,d0
jmp yet_args_needed_
align (2)
movl $29,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_28:
mov (a1),d1
movl $31,d0
jmp yet_args_needed_
align (2)
movl $30,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_29:
mov (a1),d1
movl $32,d0
jmp yet_args_needed_
align (2)
movl $31,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_30:
mov (a1),d1
movl $33,d0
jmp yet_args_needed_
align (2)
movl $32,d0
jmp build_node_
nop
nop
align (2)
#ifdef PROFILE
nop
nop
nop
nop
nop
nop
nop
nop
#endif
yet_args_needed_31:
mov (a1),d1
movl $34,d0
jmp yet_args_needed_
yet_args_needed:
/ for more than 4 arguments
mov (a1),d1
movzwl -2(d1),d0
add $3,d0
yet_args_needed_:
lea -32(a4,d0,4),a2
cmpl end_heap,a2
jae yet_args_needed_gc
yet_args_needed_gc_r:
sub $3+1+4,d0
push d1
push a0
mov 4(a1),d1
mov 8(a1),a1
mov a4,a2
mov (a1),a0
mov a0,(a4)
mov 4(a1),a0
mov a0,4(a4)
mov 8(a1),a0
mov a0,8(a4)
add $12,a1
add $12,a4
yet_args_needed_cp_a:
mov (a1),a0
add $4,a1
mov a0,(a4)
add $4,a4
subl $1,d0
jge yet_args_needed_cp_a
pop a0
mov a0,(a4)
pop d0
add $8,d0
mov d0,4(a4)
lea 4(a4),a0
mov d1,8(a4)
mov a2,12(a4)
add $16,a4
ret
yet_args_needed_gc:
call collect_2l
jmp yet_args_needed_gc_r
build_node_:
lea -32+8(a4,d0,4),a2
cmpl end_heap,a2
jae build_node_gc
build_node_gc_r:
movl d1,(a4)
lea 12(a4),a2
movl a1,4(a4)
movl a2,8(a4)
movl a0,12(a4)
movl a4,a0
movl -4(a3),a2
movl a2,16(a4)
movl -8(a3),a2
movl a2,20(a4)
movl -12(a3),a2
subl $12,a3
movl a2,24(a4)
addl $28,a4
subl $5,d0
build_node_cp_a:
movl -4(a3),a2
subl $4,a3
movl a2,(a4)
addl $4,a4
subl $1,d0
jne build_node_cp_a
ret
build_node_gc:
call collect_2l
jmp build_node_gc_r
.globl apupd_1
.globl apupd_2
.globl apupd_3
.globl apupd_4
.globl apupd_5
.globl apupd_6
.globl apupd_7
.globl apupd_8
.globl apupd_9
.globl apupd_10
.globl apupd_11
.globl apupd_12
.globl apupd_13
.globl apupd_14
.globl apupd_15
.globl apupd_16
.globl apupd_17
.globl apupd_18
.globl apupd_19
.globl apupd_20
.globl apupd_21
.globl apupd_22
.globl apupd_23
.globl apupd_24
.globl apupd_25
.globl apupd_26
.globl apupd_27
.globl apupd_28
.globl apupd_29
.globl apupd_30
.globl apupd_31
.globl apupd_32
.globl __indirection
apupd_1:
cmpl $apupd_upd,(sp)
lea ap_1,a2
jne ap_upd
movl -4(a3),a2
movl -8(a3),d0
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
ap_1:
movl (a1),a2
jmp *2(a2)
apupd_2:
cmpl $apupd_upd,(sp)
lea ap_2,a2
jne ap_upd
movl -8(a3),a2
movl -12(a3),d0
movl -4(a3),d1
movl d1,-8(a3)
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_2
apupd_3:
cmpl $apupd_upd,(sp)
lea ap_3,a2
jne ap_upd
movl -12(a3),a2
movl -16(a3),d0
movl -8(a3),d1
movl d1,-12(a3)
movl -4(a3),d1
movl d1,-8(a3)
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_3
apupd_4:
cmpl $apupd_upd,(sp)
lea ap_4,a2
jne ap_upd
movl -16(a3),a2
movl -20(a3),d0
movl -12(a3),d1
movl d1,-16(a3)
movl -8(a3),d1
movl d1,-12(a3)
movl -4(a3),d1
movl d1,-8(a3)
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_4
apupd_5:
cmpl $apupd_upd,(sp)
lea ap_5,a2
jne ap_upd
movl -20(a3),a2
movl -24(a3),d0
movl -16(a3),d1
movl d1,-20(a3)
movl -12(a3),d1
movl d1,-16(a3)
movl -8(a3),d1
movl d1,-12(a3)
movl -4(a3),d1
movl d1,-8(a3)
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_5
apupd_6:
cmpl $apupd_upd,(sp)
lea ap_6,a2
jne ap_upd
movl -24(a3),a2
movl -28(a3),d0
movl -20(a3),d1
movl d1,-24(a3)
movl -16(a3),d1
movl d1,-20(a3)
movl -12(a3),d1
movl d1,-16(a3)
movl -8(a3),d1
movl d1,-12(a3)
movl -4(a3),d1
movl d1,-8(a3)
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_6
apupd_7:
cmpl $apupd_upd,(sp)
lea ap_7,a2
jne ap_upd
movl -28(a3),a2
movl -32(a3),d0
call move_8
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_7
apupd_8:
cmpl $apupd_upd,(sp)
lea ap_8,a2
jne ap_upd
movl -32(a3),a2
movl -36(a3),d0
call move_9
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_8
apupd_9:
cmpl $apupd_upd,(sp)
lea ap_9,a2
jne ap_upd
movl -36(a3),a2
movl -40(a3),d0
call move_10
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_9
apupd_10:
cmpl $apupd_upd,(sp)
lea ap_10,a2
jne ap_upd
movl -40(a3),a2
movl -44(a3),d0
call move_11
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_10
apupd_11:
cmpl $apupd_upd,(sp)
lea ap_11,a2
jne ap_upd
movl -44(a3),a2
movl -48(a3),d0
call move_12
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_11
apupd_12:
cmpl $apupd_upd,(sp)
lea ap_12,a2
jne ap_upd
movl -48(a3),a2
movl -52(a3),d0
call move_13
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_12
apupd_13:
cmpl $apupd_upd,(sp)
lea ap_13,a2
jne ap_upd
movl -52(a3),a2
movl -56(a3),d0
call move_14
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_13
apupd_14:
cmpl $apupd_upd,(sp)
lea ap_14,a2
jne ap_upd
movl -56(a3),a2
movl -60(a3),d0
call move_15
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_14
apupd_15:
cmpl $apupd_upd,(sp)
lea ap_15,a2
jne ap_upd
movl -60(a3),a2
movl -64(a3),d0
call move_16
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_15
apupd_16:
cmpl $apupd_upd,(sp)
lea ap_16,a2
jne ap_upd
movl -64(a3),a2
movl -68(a3),d0
call move_17
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_16
apupd_17:
cmpl $apupd_upd,(sp)
lea ap_17,a2
jne ap_upd
movl -68(a3),a2
movl -72(a3),d0
call move_18
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_17
apupd_18:
cmpl $apupd_upd,(sp)
lea ap_18,a2
jne ap_upd
movl -72(a3),a2
movl -76(a3),d0
call move_19
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_18
apupd_19:
cmpl $apupd_upd,(sp)
lea ap_19,a2
jne ap_upd
movl -76(a3),a2
movl -80(a3),d0
call move_20
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_19
apupd_20:
cmpl $apupd_upd,(sp)
lea ap_20,a2
jne ap_upd
movl -80(a3),a2
movl -84(a3),d0
call move_21
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_20
apupd_21:
cmpl $apupd_upd,(sp)
lea ap_21,a2
jne ap_upd
movl -84(a3),a2
movl -88(a3),d0
call move_22
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_21
apupd_22:
cmpl $apupd_upd,(sp)
lea ap_22,a2
jne ap_upd
movl -88(a3),a2
movl -92(a3),d0
call move_23
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_22
apupd_23:
cmpl $apupd_upd,(sp)
lea ap_23,a2
jne ap_upd
movl -92(a3),a2
movl -96(a3),d0
call move_24
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_23
apupd_24:
cmpl $apupd_upd,(sp)
lea ap_24,a2
jne ap_upd
movl -96(a3),a2
movl -100(a3),d0
call move_25
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_24
apupd_25:
cmpl $apupd_upd,(sp)
lea ap_25,a2
jne ap_upd
movl -100(a3),a2
movl -104(a3),d0
call move_26
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_25
apupd_26:
cmpl $apupd_upd,(sp)
lea ap_26,a2
jne ap_upd
movl -104(a3),a2
movl -108(a3),d0
call move_27
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_26
apupd_27:
cmpl $apupd_upd,(sp)
lea ap_27,a2
jne ap_upd
movl -108(a3),a2
movl -112(a3),d0
call move_28
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_27
apupd_28:
cmpl $apupd_upd,(sp)
lea ap_28,a2
jne ap_upd
movl -112(a3),a2
movl -116(a3),d0
call move_29
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_28
apupd_29:
cmpl $apupd_upd,(sp)
lea ap_29,a2
jne ap_upd
movl -116(a3),a2
movl -120(a3),d0
call move_30
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_29
apupd_30:
cmpl $apupd_upd,(sp)
lea ap_30,a2
jne ap_upd
movl -120(a3),a2
movl -124(a3),d0
call move_31
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_30
apupd_31:
cmpl $apupd_upd,(sp)
lea ap_31,a2
jne ap_upd
movl -124(a3),a2
movl -128(a3),d0
call move_32
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_31
apupd_32:
cmpl $apupd_upd,(sp)
lea ap_32,a2
jne ap_upd
movl -128(a3),a2
movl -132(a3),d0
call move_33
subl $4,a3
movl $__indirection,(a2)
movl d0,4(a2)
jmp ap_32
ap_upd:
call *a2
apupd_upd:
movl -4(a3),a1
subl $4,a3
movl (a0),d0
movl d0,(a1)
movl 4(a0),d0
movl d0,4(a1)
movl 8(a0),d0
movl a1,a0
movl d0,8(a1)
ret
move_33:
movl -124(a3),d1
movl d1,-128(a3)
move_32:
movl -120(a3),d1
movl d1,-124(a3)
move_31:
movl -116(a3),d1
movl d1,-120(a3)
move_30:
movl -112(a3),d1
movl d1,-116(a3)
move_29:
movl -108(a3),d1
movl d1,-112(a3)
move_28:
movl -104(a3),d1
movl d1,-108(a3)
move_27:
movl -100(a3),d1
movl d1,-104(a3)
move_26:
movl -96(a3),d1
movl d1,-100(a3)
move_25:
movl -92(a3),d1
movl d1,-96(a3)
move_24:
movl -88(a3),d1
movl d1,-92(a3)
move_23:
movl -84(a3),d1
movl d1,-88(a3)
move_22:
movl -80(a3),d1
movl d1,-84(a3)
move_21:
movl -76(a3),d1
movl d1,-80(a3)
move_20:
movl -72(a3),d1
movl d1,-76(a3)
move_19:
movl -68(a3),d1
movl d1,-72(a3)
move_18:
movl -64(a3),d1
movl d1,-68(a3)
move_17:
movl -60(a3),d1
movl d1,-64(a3)
move_16:
movl -56(a3),d1
movl d1,-60(a3)
move_15:
movl -52(a3),d1
movl d1,-56(a3)
move_14:
movl -48(a3),d1
movl d1,-52(a3)
move_13:
movl -44(a3),d1
movl d1,-48(a3)
move_12:
movl -40(a3),d1
movl d1,-44(a3)
move_11:
movl -36(a3),d1
movl d1,-40(a3)
move_10:
movl -32(a3),d1
movl d1,-36(a3)
move_9:
movl -28(a3),d1
movl d1,-32(a3)
move_8:
movl -24(a3),d1
movl d1,-28(a3)
move_7:
movl -20(a3),d1
movl d1,-24(a3)
movl -16(a3),d1
movl d1,-20(a3)
movl -12(a3),d1
movl d1,-16(a3)
movl -8(a3),d1
movl d1,-12(a3)
movl -4(a3),d1
movl d1,-8(a3)
ret