Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.49
 
1.50
 
MAIN:ragge:20050917075840
 
local2.c
_>3535 void genargs(NODE *p);
 3636 static void sconv(NODE *p);
 3737 
<>38 -#ifdef OLDSTYLE
 39 -static int ftlab1, ftlab2;
 40 -#endif
 41 -
4238 void
 4339 lineid(int l, char *fn)
 4440 {
     
 !
9490         return addto;
 9591 }
 9692 
<>97 -#ifdef OLDSTYLE
9893 void
 9994 prologue(struct interpass_prolog *ipp)
 10095 {
     
 !
105100                 printf("        .globl %s\n", ipp->ipp_name);
 106101         printf("        .align 4\n");
 107102         printf("%s:\n", ipp->ipp_name);
<>108 -        if (xsaveip == 0) {
 109 -                /*
 110 -                 * not-pregenerated code, jump to epilogue for code generation.
 111 -                 */
 112 -                ftlab1 = getlab();
 113 -                ftlab2 = getlab();
 114 -                printf("        jmp " LABFMT "\n", ftlab1);
 115 -                deflab(ftlab2);
 116 -        } else {
 117 -                /*
 118 -                 * We here know what register to save and how much to
 119 -                 * add to the stack.
 120 -                 */
 121 -                addto = offcalc(ipp);
 122 -                prtprolog(ipp, addto);
 123 -        }
 124 -}
 125 -
 126 -/*
 127 - * End of block.
 128 - */
 129 -void
 130 -eoftn(struct interpass_prolog *ipp)
 131 -{
 132 -        int spoff, i, j;
 133 -
 134 -        spoff = 0; /* XXX gcc */
 135 -        if (ipp->ipp_ip.ip_lbl == 0)
 136 -                return; /* no code needs to be generated */
 137 -
 138 -        /* if not optimizing, do offset calculation here */
 139 -        if (xsaveip == 0)
 140 -                spoff = offcalc(ipp);
 141 -
 142 -        /* return from function code */
 143 -        for (i = ipp->ipp_regs, j = 0; i ; i >>= 1, j++) {
 144 -                if (i & 1)
 145 -                        fprintf(stdout, "       movl -%d(%s),%s\n",
 146 -                            regoff[j], rnames[FPREG], rnames[j]);
 147 -                        
 148 -        }
 149 -
 150 -        /* struct return needs special treatment */
 151 -        if (ftype == STRTY || ftype == UNIONTY) {
 152 -                printf("        movl 8(%%ebp),%%eax\n");
 153 -                printf("        leave\n");
 154 -                printf("        ret $4\n");
 155 -        } else {
 156 -                printf("        leave\n");
 157 -                printf("        ret\n");
 158 -        }
 159 -
 160 -        /* Prolog code if not optimizing */
 161 -        if (xsaveip == 0) {
 162 -                deflab(ftlab1);
 163 -                prtprolog(ipp, spoff);
 164 -                printf("        jmp " LABFMT "\n", ftlab2);
 165 -        }
 166 -}
 167 -#else
 168 -void
 169 -prologue(struct interpass_prolog *ipp)
 170 -{
 171 -        int addto;
 172 -
 173 -        ftype = ipp->ipp_type;
 174 -        if (ipp->ipp_vis)
 175 -                printf("        .globl %s\n", ipp->ipp_name);
 176 -        printf("        .align 4\n");
 177 -        printf("%s:\n", ipp->ipp_name);
178103         /*
 179104          * We here know what register to save and how much to
 180105          * add to the stack.
     
 !
209134                 printf("        ret\n");
 210135         }
 211136 }
<>212 -#endif
<_213137 
 214138 /*
 215139  * add/sub/...
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-21 20:11 +0200