summary refs log tree commit diff stats
path: root/lib/pure/subexes.nim
Commit message (Expand)AuthorAgeFilesLines
* Fixes subexes tests which were broken in 73e48f9c9.Dominik Picheta2016-04-051-4/+4
* remove trailing whitespace requirement from subexes test fileAman Gupta2015-10-021-14/+13
* fix test failures in subexes due to missing trailing whitespaceAman Gupta2015-10-011-4/+4
* lib: Trim .nim files trailing whitespaceAdam Strzelecki2015-09-041-24/+24
* lib/pure/p-t - Dropped 'T' from typespdw2015-06-041-15/+16
* Turn some test outputs into actual testsOleh Prypin2015-04-211-6/+14
* Don't run non-test code when defined(testing)Oleh Prypin2015-04-211-4/+6
* Fix a few more warningsdef2015-02-171-2/+2
* fixes #1730Araq2014-12-171-1/+5
* added $* for subexesAraq2014-09-241-0/+3
* big renameAraq2014-08-271-12/+16
* fix failed tests due to gcsafeAraq2014-08-121-1/+2
* first steps for overloading support of passing blocks; bugfix: test results o...Araq2012-09-111-2/+2
* stdlib uses more of varargsAraq2012-08-161-1/+10
* year 2012 for most copyright headersAraq2012-01-021-1/+1
* added support for advanced substitution expressionsAraq2011-12-271-0/+380
.vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/* ---------------------------------------------- */
/* alloca86.S */

#include "../config.h"

.globl alloca

alloca:
    pop     %edx
    pop     %eax
    add     $3,%eax
    and     $-4,%eax
    jz      p3

#ifdef TCC_TARGET_PE
p1:
    cmp     $4096,%eax
    jle     p2
    sub     $4096,%esp
    sub     $4096,%eax
    test    %eax,(%esp)
    jmp p1
p2:
#endif

    sub     %eax,%esp
    mov     %esp,%eax
p3:
    push    %edx
    push    %edx
    ret

/* ---------------------------------------------- */