repo.or.cz
/
tinycc
/
miki.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Introduce ElfW macro and ELFW to encapsulate the difference between Elf32_* and Elf64...
[tinycc/miki.git]
/
alloca86.S
blob
a60b140804896316cf0a6f02995e96a9dac36d28
1
/* ---------------------------------------------- */
2
/* alloca86.S */
3
4
#include "config.h"
5
6
.globl _alloca
7
8
_alloca:
9
pop %edx
10
pop %eax
11
add $3,%eax
12
and $-4,%eax
13
jz p3
14
15
#ifdef TCC_TARGET_PE
16
p1:
17
cmp $4096,%eax
18
jle p2
19
sub $4096,%esp
20
sub $4096,%eax
21
test %eax,(%esp)
22
jmp p1
23
p2:
24
#endif
25
26
sub %eax,%esp
27
mov %esp,%eax
28
p3:
29
push %edx
30
push %edx
31
ret
32
33
/* ---------------------------------------------- */