Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/compiler-rt/lib/builtins/i386/chkstk.S
12349 views
1
// This file is dual licensed under the MIT and the University of Illinois Open
2
// Source Licenses. See LICENSE.TXT for details.
3
4
#include "../assembly.h"
5
6
// _chkstk routine
7
// This routine is windows specific
8
// http://msdn.microsoft.com/en-us/library/ms648426.aspx
9
10
#ifdef __i386__
11
12
.text
13
.balign 4
14
DEFINE_COMPILERRT_FUNCTION(__chkstk_ms)
15
push %ecx
16
push %eax
17
cmp $0x1000,%eax
18
lea 12(%esp),%ecx
19
jb 1f
20
2:
21
sub $0x1000,%ecx
22
test %ecx,(%ecx)
23
sub $0x1000,%eax
24
cmp $0x1000,%eax
25
ja 2b
26
1:
27
sub %eax,%ecx
28
test %ecx,(%ecx)
29
pop %eax
30
pop %ecx
31
ret
32
END_COMPILERRT_FUNCTION(__chkstk_ms)
33
34
#endif // __i386__
35
36