repo.or.cz
/
tinycc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
s/int/unsigned/ since GCC 4.3.2 produces code which doesn't stop.
[tinycc.git]
/
alloca86-bt.S
blob
3fa8a53e5624d0f8f8d174305df50ec37bf78309
1
/* ---------------------------------------------- */
2
/* alloca86b.S */
3
4
#include "config.h"
5
6
.globl __bound__alloca
7
8
__bound__alloca:
9
pop %edx
10
pop %eax
11
mov %eax, %ecx
12
add $3,%eax
13
and $-4,%eax
14
jz p6
15
16
#ifdef TCC_TARGET_PE
17
p4:
18
cmp $4096,%eax
19
jle p5
20
sub $4096,%esp
21
sub $4096,%eax
22
test %eax,(%esp)
23
jmp p4
24
25
p5:
26
#endif
27
28
sub %eax,%esp
29
mov %esp,%eax
30
31
push %edx
32
push %eax
33
push %ecx
34
push %eax
35
call __bound_new_region
36
add $8, %esp
37
pop %eax
38
pop %edx
39
40
p6:
41
push %edx
42
push %edx
43
ret
44
45
/* ---------------------------------------------- */