I'm trying to build ghc from scratch on a gcc-3.0 athlon system.
I've downloaded and unpacked ghc-4.0.8.2-src.tar.bz2 and
ghc-4.0.8-x86-hc.tar.bz2.
When I run distrib/hc-build --prefix=/usr/local/haskell the build fails
with the following error:
../../ghc/driver/ghc-inplace -I../includes -I. -Iparallel -optc-Wall
-optc-W -optc-Wstrict-prototypes -optc-Wmissing-prototypes
-optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return
-optc-Wpointer-arith -optc-Wbad-function-cast -O2 -optc-DCOMPILING_RTS
-static -c PrimOps.hc -o PrimOps.o -osuf o
In file included from Storage.h:14,
from PrimOps.hc:17,
BlockAlloc.h:51:8: warning: extra tokens at end of #endif directive
In file included from PrimOps.hc:17,
Storage.h:197:8: warning: extra tokens at end of #endif directive
Storage.h:199:8: warning: extra tokens at end of #endif directive
In file included from PrimOps.hc:21,
StgRun.h:17:8: warning: extra tokens at end of #endif directive
Prologue junk?: .globl plusIntegerzh_fast
plusIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
gmake[2]: *** [PrimOps.o] Error 255
gmake[1]: *** [all] Error 1
gmake: *** [all] Error 1
I've attached the assembler output obtained from running this command
with -ddump-raw-asm.
cheers
Loz
In file included from Storage.h:14,
from PrimOps.hc:17,
BlockAlloc.h:51:8: warning: extra tokens at end of #endif directive
In file included from PrimOps.hc:17,
Storage.h:197:8: warning: extra tokens at end of #endif directive
Storage.h:199:8: warning: extra tokens at end of #endif directive
In file included from PrimOps.hc:21,
StgRun.h:17:8: warning: extra tokens at end of #endif directive
.file "ghc3083.c"
.data
.type ghc_cc_ID,@object
.size ghc_cc_ID,25
ghc_cc_ID:
.string "@(#)cc PrimOps.hc\t36.1,,"
.text
.align 16
.globl newCharArrayzh_fast
.type newCharArrayzh_fast,@function
newCharArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L388
leal 3(%esi), %eax
shrl $2, %eax
movl %eax, 8(%esp)
subl $12, %esp
addl $2, %eax
pushl %eax
call allocate
movl $ARR_WORDS_info, (%eax)
addl $16, %esp
movl 8(%esp), %edx
movl %eax, %esi
movl %edx, 4(%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L388:
movl $65535, 32(%ebx)
movl $newCharArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe1:
.size newCharArrayzh_fast,.Lfe1-newCharArrayzh_fast
.align 16
.globl newIntArrayzh_fast
.type newIntArrayzh_fast,@function
newIntArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L392
movl %esi, %eax
andl $1073741823, %eax
movl %eax, 8(%esp)
subl $12, %esp
addl $2, %eax
pushl %eax
call allocate
movl $ARR_WORDS_info, (%eax)
addl $16, %esp
movl 8(%esp), %edx
movl %eax, %esi
movl %edx, 4(%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L392:
movl $65535, 32(%ebx)
movl $newIntArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe2:
.size newIntArrayzh_fast,.Lfe2-newIntArrayzh_fast
.align 16
.globl newWordArrayzh_fast
.type newWordArrayzh_fast,@function
newWordArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L396
movl %esi, %eax
andl $1073741823, %eax
movl %eax, 8(%esp)
subl $12, %esp
addl $2, %eax
pushl %eax
call allocate
movl $ARR_WORDS_info, (%eax)
addl $16, %esp
movl 8(%esp), %edx
movl %eax, %esi
movl %edx, 4(%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L396:
movl $65535, 32(%ebx)
movl $newWordArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe3:
.size newWordArrayzh_fast,.Lfe3-newWordArrayzh_fast
.align 16
.globl newAddrArrayzh_fast
.type newAddrArrayzh_fast,@function
newAddrArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L400
movl %esi, %eax
andl $1073741823, %eax
movl %eax, 8(%esp)
subl $12, %esp
addl $2, %eax
pushl %eax
call allocate
movl $ARR_WORDS_info, (%eax)
addl $16, %esp
movl 8(%esp), %edx
movl %eax, %esi
movl %edx, 4(%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L400:
movl $65535, 32(%ebx)
movl $newAddrArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe4:
.size newAddrArrayzh_fast,.Lfe4-newAddrArrayzh_fast
.align 16
.globl newFloatArrayzh_fast
.type newFloatArrayzh_fast,@function
newFloatArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L404
movl %esi, %eax
andl $1073741823, %eax
movl %eax, 8(%esp)
subl $12, %esp
addl $2, %eax
pushl %eax
call allocate
movl $ARR_WORDS_info, (%eax)
addl $16, %esp
movl 8(%esp), %edx
movl %eax, %esi
movl %edx, 4(%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L404:
movl $65535, 32(%ebx)
movl $newFloatArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe5:
.size newFloatArrayzh_fast,.Lfe5-newFloatArrayzh_fast
.align 16
.globl newDoubleArrayzh_fast
.type newDoubleArrayzh_fast,@function
newDoubleArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L408
leal 3(,%esi,8), %eax
shrl $2, %eax
movl %eax, 8(%esp)
subl $12, %esp
addl $2, %eax
pushl %eax
call allocate
movl $ARR_WORDS_info, (%eax)
addl $16, %esp
movl 8(%esp), %edx
movl %eax, %esi
movl %edx, 4(%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L408:
movl $65535, 32(%ebx)
movl $newDoubleArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe6:
.size newDoubleArrayzh_fast,.Lfe6-newDoubleArrayzh_fast
.align 16
.globl newStablePtrArrayzh_fast
.type newStablePtrArrayzh_fast,@function
newStablePtrArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L412
movl %esi, %eax
andl $1073741823, %eax
movl %eax, 8(%esp)
subl $12, %esp
addl $2, %eax
pushl %eax
call allocate
movl $ARR_WORDS_info, (%eax)
addl $16, %esp
movl 8(%esp), %edx
movl %eax, %esi
movl %edx, 4(%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L412:
movl $65535, 32(%ebx)
movl $newStablePtrArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe7:
.size newStablePtrArrayzh_fast,.Lfe7-newStablePtrArrayzh_fast
.align 16
.globl newArrayzh_fast
.type newArrayzh_fast,@function
newArrayzh_fast:
subl $28, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
movl %esi, 20(%esp)
cmpl %eax, alloc_blocks
jae .L422
movl 20(%esp), %eax
addl $3, %eax
movl %eax, 24(%esp)
subl $12, %esp
pushl %eax
call allocate
movl %eax, %edx
addl $16, %esp
movl $MUT_ARR_PTRS_info, (%edx)
movl 20(%esp), %ecx
movl %ecx, 4(%edx)
movl 4(%ebx), %eax
movl 24(%esp), %ecx
movl %eax, 16(%esp)
leal 12(%edx), %eax
leal (%edx,%ecx,4), %ecx
movl %ecx, 12(%esp)
cmpl %ecx, %eax
jae .L421
.p2align 4
.L419:
movl 16(%esp), %ecx
movl %ecx, (%eax)
addl $4, %eax
cmpl 12(%esp), %eax
jb .L419
jmp .L421
.p2align 4,,7
.L422:
movl $65533, 32(%ebx)
movl $newArrayzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.p2align 4,,7
.L421:
movl %edx, %esi
call __DISCARD__
jmp *(%ebp)
.Lfe8:
.size newArrayzh_fast,.Lfe8-newArrayzh_fast
.align 16
.globl newMutVarzh_fast
.type newMutVarzh_fast,@function
newMutVarzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $12, %edi
cmpl 96(%ebx), %edi
ja .L426
leal -8(%edi), %eax
movl %esi, 4(%eax)
movl %eax, %esi
movl $MUT_VAR_info, (%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L426:
movl $65534, 32(%ebx)
movl $newMutVarzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe9:
.size newMutVarzh_fast,.Lfe9-newMutVarzh_fast
.align 16
.globl mkForeignObjzh_fast
.type mkForeignObjzh_fast,@function
mkForeignObjzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $8, %edi
cmpl 96(%ebx), %edi
ja .L430
leal -4(%edi), %eax
movl %esi, 4(%eax)
movl %eax, %esi
movl $FOREIGN_info, (%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L430:
movl $65535, 32(%ebx)
movl $mkForeignObjzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe10:
.size mkForeignObjzh_fast,.Lfe10-mkForeignObjzh_fast
.align 16
.globl unsafeThawArrayzh_fast
.type unsafeThawArrayzh_fast,@function
unsafeThawArrayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl $MUT_ARR_PTRS_info, (%esi)
movl %esi, %ecx
movl %ecx, %edx
andl $1044480, %edx
movl %ecx, %eax
andl $-1048576, %eax
shrl $7, %edx
orl %eax, %edx
movl 16(%edx), %eax
cmpl $0, (%eax)
je .L433
movl 16(%eax), %eax
movl %eax, 8(%ecx)
movl 16(%edx), %eax
movl %ecx, 16(%eax)
.L433:
call __DISCARD__
jmp *(%ebp)
.Lfe11:
.size unsafeThawArrayzh_fast,.Lfe11-unsafeThawArrayzh_fast
.align 16
.globl mkWeakzh_fast
.type mkWeakzh_fast,@function
mkWeakzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl 8(%ebx), %eax
testl %eax, %eax
je .L439
.L435:
addl $20, %edi
cmpl 96(%ebx), %edi
ja .L440
leal -16(%edi), %eax
movl %esi, 4(%eax)
movl %eax, %esi
movl $WEAK_info, (%eax)
movl 4(%ebx), %edx
movl %edx, 8(%eax)
movl 8(%ebx), %edx
movl %edx, 12(%eax)
movl weak_ptr_list, %edx
movl %edx, 16(%eax)
movl %eax, weak_ptr_list
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L439:
movl $NO_FINALIZER_closure, 8(%ebx)
jmp .L435
.p2align 4,,7
.L440:
movl $65528, 32(%ebx)
movl $mkWeakzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe12:
.size mkWeakzh_fast,.Lfe12-mkWeakzh_fast
.align 16
.globl finalizzeWeakzh_fast
.type finalizzeWeakzh_fast,@function
finalizzeWeakzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl %esi, %edx
cmpl $DEAD_WEAK_info, (%edx)
je .L445
movl $DEAD_WEAK_info, (%edx)
movl 12(%edx), %ecx
movl 16(%edx), %eax
cmpl $NO_FINALIZER_closure, %ecx
movl %eax, 4(%edx)
je .L446
movl %ecx, -4(%ebp)
movl $1, %esi
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L445:
movl $NO_FINALIZER_closure, -4(%ebp)
xorl %esi, %esi
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L446:
movl %ecx, -4(%ebp)
xorl %esi, %esi
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.Lfe13:
.size finalizzeWeakzh_fast,.Lfe13-finalizzeWeakzh_fast
.align 16
.globl int2Integerzh_fast
.type int2Integerzh_fast,@function
int2Integerzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $12, %edi
movl %esi, %eax
cmpl 96(%ebx), %edi
ja .L454
leal -8(%edi), %edx
testl %eax, %eax
movl $ARR_WORDS_info, (%edx)
movl $1, 4(%edx)
js .L455
testl %eax, %eax
jle .L452
movl %eax, (%edi)
movl $1, %ecx
jmp .L451
.p2align 4,,7
.L452:
xorl %ecx, %ecx
.L451:
movl %edx, -4(%ebp)
movl %ecx, %esi
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L455:
negl %eax
movl $-1, %ecx
movl %eax, (%edi)
jmp .L451
.p2align 4,,7
.L454:
movl $65535, 32(%ebx)
movl $int2Integerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe14:
.size int2Integerzh_fast,.Lfe14-int2Integerzh_fast
.align 16
.globl word2Integerzh_fast
.type word2Integerzh_fast,@function
word2Integerzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $12, %edi
movl %esi, %ecx
cmpl 96(%ebx), %edi
ja .L461
leal -8(%edi), %eax
testl %ecx, %ecx
movl $ARR_WORDS_info, (%eax)
movl $1, 4(%eax)
je .L459
movl %ecx, (%edi)
movl $1, %edx
jmp .L460
.p2align 4,,7
.L459:
xorl %edx, %edx
.L460:
movl %eax, -4(%ebp)
movl %edx, %esi
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L461:
movl $65535, 32(%ebx)
movl $word2Integerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe15:
.size word2Integerzh_fast,.Lfe15-word2Integerzh_fast
.align 16
.globl addr2Integerzh_fast
.type addr2Integerzh_fast,@function
addr2Integerzh_fast:
subl $28, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L466
subl $4, %esp
pushl $10
pushl %esi
leal 12(%esp), %eax
pushl %eax
call mpz_init_set_str
addl $16, %esp
testl %eax, %eax
jne .L467
movl 8(%esp), %eax
movl 4(%esp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L466:
movl $65535, 32(%ebx)
movl $addr2Integerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.p2align 4,,7
.L467:
call abort
.Lfe16:
.size addr2Integerzh_fast,.Lfe16-addr2Integerzh_fast
.globl __udivdi3
.align 16
.globl int64ToIntegerzh_fast
.type int64ToIntegerzh_fast,@function
int64ToIntegerzh_fast:
subl $44, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl 72(%ebx), %eax
movl 76(%ebx), %edx
movl $0, 28(%esp)
movl %eax, 32(%esp)
addl $-1, %eax
movl %edx, 36(%esp)
adcl $0, %edx
cmpl $1, %edx
jb .L469
cmpl $1, %edx
ja .L470
cmpl $-2, %eax
jbe .L469
.L470:
movl $2, 24(%esp)
.L471:
movl 24(%esp), %eax
sall $2, %eax
leal 8(%eax,%edi), %edi
cmpl 96(%ebx), %edi
ja .L480
movl %edi, %edx
subl %eax, %edx
movl %edx, %eax
leal -4(%eax), %edx
movl %edx, 20(%esp)
movl $ARR_WORDS_info, -4(%eax)
movl 24(%esp), %eax
movl %eax, 4(%edx)
movl 36(%esp), %edx
testl %edx, %edx
js .L481
.L474:
pushl $1
pushl $0
movl 44(%esp), %eax
pushl %eax
movl 44(%esp), %ecx
pushl %ecx
call __udivdi3
addl $16, %esp
cmpl $2, 24(%esp)
movl %eax, 8(%esp)
movl %edx, 12(%esp)
je .L482
movl 32(%esp), %edx
orl 36(%esp), %edx
je .L477
movl 32(%esp), %eax
movl $1, %ecx
.L483:
movl %eax, (%edi)
.L476:
movl 28(%esp), %edx
testl %edx, %edx
je .L479
negl %ecx
.L479:
movl 20(%esp), %edx
movl %ecx, %esi
movl %edx, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L477:
xorl %ecx, %ecx
jmp .L476
.p2align 4,,7
.L482:
movl 32(%esp), %edx
movl $2, %ecx
movl %edx, -4(%edi)
movl 8(%esp), %eax
jmp .L483
.p2align 4,,7
.L481:
negl 32(%esp)
movl $1, 28(%esp)
adcl $0, 36(%esp)
negl 36(%esp)
jmp .L474
.p2align 4,,7
.L469:
movl $1, 24(%esp)
jmp .L471
.p2align 4,,7
.L480:
movl $65535, 32(%ebx)
movl $int64ToIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe17:
.size int64ToIntegerzh_fast,.Lfe17-int64ToIntegerzh_fast
.align 16
.globl word64ToIntegerzh_fast
.type word64ToIntegerzh_fast,@function
word64ToIntegerzh_fast:
subl $28, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl 76(%ebx), %edx
movl 72(%ebx), %eax
cmpl $1, %edx
movl %edx, 20(%esp)
sbbl %edx, %edx
addl $2, %edx
movl %eax, 16(%esp)
leal 0(,%edx,4), %eax
leal 8(%eax,%edi), %edi
cmpl 96(%ebx), %edi
ja .L495
movl %edi, %ecx
subl %eax, %ecx
movl %ecx, %eax
leal -4(%eax), %ecx
movl %ecx, 12(%esp)
movl $ARR_WORDS_info, -4(%eax)
movl %edx, 4(%ecx)
pushl $1
pushl $0
movl 28(%esp), %eax
pushl %eax
movl 28(%esp), %ecx
pushl %ecx
call __udivdi3
addl $16, %esp
cmpl $0, 20(%esp)
movl %eax, (%esp)
movl %edx, 4(%esp)
jbe .L490
movl 16(%esp), %eax
movl $2, %ecx
movl %eax, -4(%edi)
movl (%esp), %edx
movl %edx, (%edi)
jmp .L492
.p2align 4,,7
.L490:
movl 16(%esp), %ecx
orl 20(%esp), %ecx
je .L493
movl 16(%esp), %eax
movl $1, %ecx
movl %eax, (%edi)
jmp .L492
.p2align 4,,7
.L493:
xorl %ecx, %ecx
.L492:
movl 12(%esp), %edx
movl %ecx, %esi
movl %edx, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L495:
movl $65535, 32(%ebx)
movl $word64ToIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe18:
.size word64ToIntegerzh_fast,.Lfe18-word64ToIntegerzh_fast
.align 16
.globl plusIntegerzh_fast
.type plusIntegerzh_fast,@function
plusIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $72, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L499
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -60(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -60(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
addl $12, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_add
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L499:
movl $65525, 32(%ebx)
movl $plusIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe19:
.size plusIntegerzh_fast,.Lfe19-plusIntegerzh_fast
.align 16
.globl minusIntegerzh_fast
.type minusIntegerzh_fast,@function
minusIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $72, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L503
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -60(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -60(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
addl $12, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_sub
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L503:
movl $65525, 32(%ebx)
movl $minusIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe20:
.size minusIntegerzh_fast,.Lfe20-minusIntegerzh_fast
.align 16
.globl timesIntegerzh_fast
.type timesIntegerzh_fast,@function
timesIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $72, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L507
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -60(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -60(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
addl $12, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_mul
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L507:
movl $65525, 32(%ebx)
movl $timesIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe21:
.size timesIntegerzh_fast,.Lfe21-timesIntegerzh_fast
.align 16
.globl gcdIntegerzh_fast
.type gcdIntegerzh_fast,@function
gcdIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $72, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L511
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -60(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -60(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
addl $12, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_gcd
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L511:
movl $65525, 32(%ebx)
movl $gcdIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe22:
.size gcdIntegerzh_fast,.Lfe22-gcdIntegerzh_fast
.align 16
.globl quotIntegerzh_fast
.type quotIntegerzh_fast,@function
quotIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $72, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L515
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -60(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -60(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
addl $12, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_tdiv_q
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L515:
movl $65525, 32(%ebx)
movl $quotIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe23:
.size quotIntegerzh_fast,.Lfe23-quotIntegerzh_fast
.align 16
.globl remIntegerzh_fast
.type remIntegerzh_fast,@function
remIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $72, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L519
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -60(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -60(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
addl $12, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_tdiv_r
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L519:
movl $65525, 32(%ebx)
movl $remIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe24:
.size remIntegerzh_fast,.Lfe24-remIntegerzh_fast
.align 16
.globl divExactIntegerzh_fast
.type divExactIntegerzh_fast,@function
divExactIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $72, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L523
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -60(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -60(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
addl $12, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_divexact
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L523:
movl $65525, 32(%ebx)
movl $divExactIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe25:
.size divExactIntegerzh_fast,.Lfe25-divExactIntegerzh_fast
.align 16
.globl quotRemIntegerzh_fast
.type quotRemIntegerzh_fast,@function
quotRemIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $88, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L527
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -76(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -76(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
leal -72(%ebp), %eax
movl %eax, (%esp)
call mpz_init
addl $16, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -72(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_tdiv_qr
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -16(%ebp)
movl -68(%ebp), %eax
movl %eax, -8(%ebp)
movl -64(%ebp), %eax
subl $8, %eax
movl %eax, -4(%ebp)
subl $16, %ebp
call __DISCARD__
jmp *16(%ebp)
.p2align 4,,7
.L527:
movl $65525, 32(%ebx)
movl $quotRemIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe26:
.size quotRemIntegerzh_fast,.Lfe26-quotRemIntegerzh_fast
.align 16
.globl divModIntegerzh_fast
.type divModIntegerzh_fast,@function
divModIntegerzh_fast:
pushl %ebp
movl %esp, %ebp
subl $88, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L531
movl 8(%ebx), %eax
subl $12, %esp
movl 4(%ebx), %edx
movl 12(%ebx), %ecx
movl %eax, -76(%ebp)
movl 4(%edx), %eax
addl $8, %edx
movl %esi, -20(%ebp)
movl %edx, -16(%ebp)
movl %eax, -24(%ebp)
movl 4(%ecx), %eax
addl $8, %ecx
movl %ecx, -32(%ebp)
movl %eax, -40(%ebp)
movl -76(%ebp), %eax
movl %eax, -36(%ebp)
leal -56(%ebp), %eax
pushl %eax
call mpz_init
leal -72(%ebp), %eax
movl %eax, (%esp)
call mpz_init
addl $16, %esp
leal -40(%ebp), %eax
pushl %eax
leal -24(%ebp), %eax
pushl %eax
leal -72(%ebp), %eax
pushl %eax
leal -56(%ebp), %eax
pushl %eax
call mpz_fdiv_qr
movl -48(%ebp), %eax
addl $16, %esp
movl -52(%ebp), %esi
subl $8, %eax
movl %eax, -16(%ebp)
movl -68(%ebp), %eax
movl %eax, -8(%ebp)
movl -64(%ebp), %eax
subl $8, %eax
movl %eax, -4(%ebp)
subl $16, %ebp
call __DISCARD__
jmp *16(%ebp)
.p2align 4,,7
.L531:
movl $65525, 32(%ebx)
movl $divModIntegerzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe27:
.size divModIntegerzh_fast,.Lfe27-divModIntegerzh_fast
.align 16
.globl decodeFloatzh_fast
.type decodeFloatzh_fast,@function
decodeFloatzh_fast:
subl $44, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $12, %edi
movl 40(%ebx), %edx
cmpl 96(%ebx), %edi
ja .L535
leal -8(%edi), %eax
movl %eax, 8(%esp)
movl $ARR_WORDS_info, (%eax)
movl $1, 4(%eax)
movl 8(%esp), %eax
addl $8, %eax
movl %eax, 24(%esp)
subl $4, %esp
pushl %edx
leal 20(%esp), %eax
pushl %eax
leal 28(%esp), %eax
pushl %eax
call __decodeFloat
addl $16, %esp
movl 20(%esp), %eax
movl 12(%esp), %esi
movl %eax, -8(%ebp)
movl 8(%esp), %eax
movl %eax, -4(%ebp)
subl $12, %ebp
call __DISCARD__
jmp *12(%ebp)
.p2align 4,,7
.L535:
movl $65535, 32(%ebx)
movl $decodeFloatzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe28:
.size decodeFloatzh_fast,.Lfe28-decodeFloatzh_fast
.align 16
.globl decodeDoublezh_fast
.type decodeDoublezh_fast,@function
decodeDoublezh_fast:
subl $44, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $16, %edi
movl 56(%ebx), %edx
movl 60(%ebx), %ecx
cmpl 96(%ebx), %edi
ja .L539
leal -12(%edi), %eax
movl %eax, 8(%esp)
movl $ARR_WORDS_info, (%eax)
movl $2, 4(%eax)
movl 8(%esp), %eax
addl $8, %eax
movl %eax, 24(%esp)
pushl %ecx
pushl %edx
leal 20(%esp), %eax
pushl %eax
leal 28(%esp), %eax
pushl %eax
call __decodeDouble
addl $16, %esp
movl 20(%esp), %eax
movl 12(%esp), %esi
movl %eax, -8(%ebp)
movl 8(%esp), %eax
movl %eax, -4(%ebp)
subl $12, %ebp
call __DISCARD__
jmp *12(%ebp)
.p2align 4,,7
.L539:
movl $65535, 32(%ebx)
movl $decodeDoublezh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe29:
.size decodeDoublezh_fast,.Lfe29-decodeDoublezh_fast
.align 16
.globl forkzh_fast
.type forkzh_fast,@function
forkzh_fast:
subl $44, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl alloc_blocks_lim, %eax
cmpl %eax, alloc_blocks
jae .L544
movl %esi, 12(%esp)
movl RtsFlags+12, %eax
subl $12, %esp
pushl %eax
call createThread
popl %ecx
movl %eax, %ecx
movl 44(%ecx), %eax
movl %ecx, %esi
leal -8(%eax), %edx
movl $0, -4(%eax)
movl %edx, 44(%ecx)
movl 24(%esp), %edx
movl %edx, -8(%eax)
pushl %esi
call scheduleThread
movl $1, %edx
addl $16, %esp
movl %edx, context_switch
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L544:
movl $65534, 32(%ebx)
movl $forkzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_hp, %eax
jmp *%eax
.Lfe30:
.size forkzh_fast,.Lfe30-forkzh_fast
.align 16
.globl yieldzh_fast
.type yieldzh_fast,@function
yieldzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
call __DISCARD__
movl $stg_yield_noregs, %eax
jmp *%eax
.Lfe31:
.size yieldzh_fast,.Lfe31-yieldzh_fast
.align 16
.globl newMVarzh_fast
.type newMVarzh_fast,@function
newMVarzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $20, %edi
cmpl 96(%ebx), %edi
ja .L549
leal -16(%edi), %edx
movl $END_TSO_QUEUE_closure, %eax
movl %edx, %esi
movl $EMPTY_MVAR_info, (%edx)
movl %eax, 12(%edx)
movl %eax, 4(%edx)
movl %eax, 16(%edx)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L549:
movl $65535, 32(%ebx)
movl $newMVarzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe32:
.size newMVarzh_fast,.Lfe32-newMVarzh_fast
.align 16
.globl takeMVarzh_fast
.type takeMVarzh_fast,@function
takeMVarzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl %esi, %ecx
cmpl $EMPTY_MVAR_info, (%ecx)
jne .L551
cmpl $END_TSO_QUEUE_closure, 4(%ecx)
je .L554
movl 12(%ecx), %edx
movl 100(%ebx), %eax
movl %eax, 4(%edx)
.L553:
movl 100(%ebx), %eax
movl $END_TSO_QUEUE_closure, 4(%eax)
movl 100(%ebx), %eax
movl $1, 20(%eax)
movl 100(%ebx), %eax
movl %ecx, 24(%eax)
movl 100(%ebx), %eax
movl %eax, 12(%ecx)
movl $65534, 32(%ebx)
movl $takeMVarzh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_block, %eax
jmp *%eax
.p2align 4,,7
.L554:
movl 100(%ebx), %eax
movl %eax, 4(%ecx)
jmp .L553
.p2align 4,,7
.L551:
movl $EMPTY_MVAR_info, (%ecx)
movl 16(%ecx), %eax
movl $END_TSO_QUEUE_closure, 16(%ecx)
movl %eax, %esi
call __DISCARD__
jmp *(%ebp)
.Lfe33:
.size takeMVarzh_fast,.Lfe33-takeMVarzh_fast
.align 16
.globl tryTakeMVarzh_fast
.type tryTakeMVarzh_fast,@function
tryTakeMVarzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl %esi, %edx
cmpl $EMPTY_MVAR_info, (%edx)
je .L557
movl $EMPTY_MVAR_info, (%edx)
movl 16(%edx), %eax
movl $1, %esi
movl $END_TSO_QUEUE_closure, 16(%edx)
movl %eax, -4(%ebp)
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.p2align 4,,7
.L557:
movl $NO_FINALIZER_closure, -4(%ebp)
xorl %esi, %esi
subl $4, %ebp
call __DISCARD__
jmp *4(%ebp)
.Lfe34:
.size tryTakeMVarzh_fast,.Lfe34-tryTakeMVarzh_fast
.align 16
.globl putMVarzh_fast
.type putMVarzh_fast,@function
putMVarzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl %esi, 8(%esp)
cmpl $FULL_MVAR_info, (%esi)
je .L562
movl 4(%ebx), %eax
movl 8(%esp), %edx
movl %eax, 16(%edx)
movl 4(%edx), %eax
cmpl $END_TSO_QUEUE_closure, %eax
je .L560
subl $12, %esp
pushl %eax
call unblockOne
addl $16, %esp
cmpl $END_TSO_QUEUE_closure, %eax
movl 8(%esp), %edx
movl %eax, 4(%edx)
jne .L560
movl %eax, 12(%edx)
.L560:
movl 8(%esp), %eax
movl $FULL_MVAR_info, (%eax)
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L562:
movl $PrelException_PutFullMVar_closure, %esi
call __DISCARD__
movl $raisezh_fast, %eax
jmp *%eax
.Lfe35:
.size putMVarzh_fast,.Lfe35-putMVarzh_fast
.align 16
.globl makeStableNamezh_fast
.type makeStableNamezh_fast,@function
makeStableNamezh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
addl $8, %edi
cmpl 96(%ebx), %edi
ja .L568
subl $12, %esp
pushl %esi
call lookupStableName
movl %eax, %ecx
movl stable_ptr_table, %eax
addl $16, %esp
movl %eax, 8(%esp)
leal (%ecx,%ecx,2), %eax
movl 8(%esp), %edx
sall $2, %eax
movl %eax, 4(%esp)
movl 8(%edx,%eax), %eax
testl %eax, %eax
movl %eax, (%esp)
je .L569
movl (%esp), %edx
.L567:
movl %edx, %esi
call __DISCARD__
jmp *(%ebp)
.p2align 4,,7
.L569:
leal -4(%edi), %edx
movl $STABLE_NAME_info, (%edx)
movl %ecx, 4(%edx)
movl 4(%esp), %ecx
movl 8(%esp), %eax
movl %edx, 8(%eax,%ecx)
jmp .L567
.p2align 4,,7
.L568:
movl $65534, 32(%ebx)
movl $makeStableNamezh_fast, 36(%ebx)
call __DISCARD__
movl $stg_gen_chk, %eax
jmp *%eax
.Lfe36:
.size makeStableNamezh_fast,.Lfe36-makeStableNamezh_fast
.align 16
.globl waitReadzh_fast
.type waitReadzh_fast,@function
waitReadzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
cmpl $END_TSO_QUEUE_closure, blocked_queue_hd
movl 100(%ebx), %eax
movl $4, 20(%eax)
movl 100(%ebx), %eax
movl %esi, 24(%eax)
je .L573
movl 100(%ebx), %edx
movl blocked_queue_tl, %eax
movl %edx, 4(%eax)
.L572:
movl 100(%ebx), %eax
movl %eax, blocked_queue_tl
call __DISCARD__
movl $stg_block_noregs, %eax
jmp *%eax
.p2align 4,,7
.L573:
movl 100(%ebx), %eax
movl %eax, blocked_queue_hd
jmp .L572
.Lfe37:
.size waitReadzh_fast,.Lfe37-waitReadzh_fast
.align 16
.globl waitWritezh_fast
.type waitWritezh_fast,@function
waitWritezh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
cmpl $END_TSO_QUEUE_closure, blocked_queue_hd
movl 100(%ebx), %eax
movl $5, 20(%eax)
movl 100(%ebx), %eax
movl %esi, 24(%eax)
je .L577
movl 100(%ebx), %edx
movl blocked_queue_tl, %eax
movl %edx, 4(%eax)
.L576:
movl 100(%ebx), %eax
movl %eax, blocked_queue_tl
call __DISCARD__
movl $stg_block_noregs, %eax
jmp *%eax
.p2align 4,,7
.L577:
movl 100(%ebx), %eax
movl %eax, blocked_queue_hd
jmp .L576
.Lfe38:
.size waitWritezh_fast,.Lfe38-waitWritezh_fast
.align 16
.globl delayzh_fast
.type delayzh_fast,@function
delayzh_fast:
subl $12, %esp
#APP
--- BEGIN ---
#NO_APP
call __DISCARD__
movl ticks_since_select, %ecx
movl 100(%ebx), %eax
movl $6, 20(%eax)
movl %esi, %eax
addl %ecx, %eax
cmpl $END_TSO_QUEUE_closure, blocked_queue_hd
movl 100(%ebx), %edx
movl %eax, 24(%edx)
je .L581
movl 100(%ebx), %edx
movl blocked_queue_tl, %eax
movl %edx, 4(%eax)
.L580:
movl 100(%ebx), %eax
movl %eax, blocked_queue_tl
call __DISCARD__
movl $stg_block_noregs, %eax
jmp *%eax
.p2align 4,,7
.L581:
movl 100(%ebx), %eax
movl %eax, blocked_queue_hd
jmp .L580
.Lfe39:
.size delayzh_fast,.Lfe39-delayzh_fast
.comm GHC_ZCCCallable_static_info,0,4
.comm GHC_ZCCReturnable_static_info,0,4
.ident "GCC: (GNU) 3.0"
Prologue junk?: .globl plusIntegerzh_fast
plusIntegerzh_fast:
pushl %ebp
movl %esp, %ebp