From 3e8b9e6d1051c1d8d7ce13137ffbe51f4f7f53c5 Mon Sep 17 00:00:00 2001 From: grischka Date: Fri, 23 Nov 2007 00:03:03 +0000 Subject: New files: alloca86.S alloca86-bt.S --- alloca86.S | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 alloca86.S (limited to 'alloca86.S') diff --git a/alloca86.S b/alloca86.S new file mode 100644 index 0000000..c8f0c25 --- /dev/null +++ b/alloca86.S @@ -0,0 +1,27 @@ +/* ---------------------------------------------- */ +/* alloca86.S */ + +.globl _alloca + +_alloca: + pop %edx + pop %eax + add $3,%eax + and $-4,%eax + jz p3 +p1: + cmp $4096,%eax + jle p2 + sub $4096,%esp + sub $4096,%eax + test %eax,(%esp) + jmp p1 +p2: + sub %eax,%esp + mov %esp,%eax +p3: + push %edx + push %edx + ret + +/* ---------------------------------------------- */ -- cgit v1.3.1