C:/Users/Dennis/src/lang/russell.orig/src/pass5c/codeutil.c File Reference

#include "parm.h"
#include "stree/ststructs.mh"
#include "pass4/sigs.h"
#include "codeutil.h"
#include <stdio.h>

Go to the source code of this file.

Defines

#define UNDEFNAME   0
#define NREGS   3

Functions

char * Vnewlabel (char *name)
char * new_global_label (char *name)
void Vcall_mcount ()
NODEmk_put_selection (NODE *p, boolean Fflag)
 Varg_trace (NODE *param)
 Ventry_trace (char *name, NODE *params, boolean Fflag)
 Vexit_trace ()
char * Vnewreg ()
void Vretreg (char *r)

Variables

FILE * Voutfile
int comp_index
char * entry_name
char * Gbase
boolean GFflag
int Goffset
static char * regs [NREGS] = {"r6","r7","r8"}
static int mask_bit [NREGS] = {R6, R7, R8}
static boolean reg_free [NREGS] = {TRUE, TRUE, TRUE}
int Vreg_bit


Define Documentation

#define NREGS   3

Definition at line 215 of file codeutil.c.

Referenced by Vnewreg(), and Vretreg().

#define UNDEFNAME   0

Definition at line 10 of file codeutil.c.


Function Documentation

NODE* mk_put_selection ( NODE p,
boolean  Fflag 
)

Definition at line 73 of file codeutil.c.

References arg_list(), ASSERT, comp_index, copynode(), ERR_SIG, getcomp(), id_put, lock, mklist(), mknode(), NIL, tl_findsig(), TRUE, UNDEFNAME, unlock, and vfree.

Referenced by Garg_trace(), and Varg_trace().

char* new_global_label ( char *  name  ) 

Definition at line 37 of file codeutil.c.

References entry_name, and malloc.

Referenced by Gfuncconstructor().

Varg_trace ( NODE param  ) 

Definition at line 145 of file codeutil.c.

References Gbase, GFflag, Goffset, mk_put_selection(), NIL, Vexpression(), and Voutfile.

Referenced by Ventry_trace().

void Vcall_mcount (  ) 

Definition at line 52 of file codeutil.c.

References Vnewlabel(), and Voutfile.

Referenced by Ffuncbody(), and Vfuncbody().

Ventry_trace ( char *  name,
NODE params,
boolean  Fflag 
)

Definition at line 172 of file codeutil.c.

References Gbase, GFflag, Goffset, length(), maprlist(), Varg_trace(), Vnewlabel(), and Voutfile.

Referenced by Ffuncbody(), and Vfuncbody().

Vexit_trace (  ) 

Definition at line 199 of file codeutil.c.

References Voutfile.

Referenced by Ffuncbody(), and Vfuncbody().

char* Vnewlabel ( char *  name  ) 

Definition at line 19 of file codeutil.c.

References entry_name, and malloc.

Referenced by Fexpression(), Vcall_mcount(), Ventry_trace(), Vexpression(), Vfuncbody(), and Vnewreg().

char* Vnewreg (  ) 

Definition at line 227 of file codeutil.c.

References FALSE, mask_bit, NREGS, reg_free, regs, tmp(), Ventry_mask, Vnewlabel(), Voutfile, and Vreg_bit.

Referenced by Vappl().

void Vretreg ( char *  r  ) 

Definition at line 251 of file codeutil.c.

References mask_bit, NREGS, reg_free, regs, TRUE, and Vgc_mask.

Referenced by Vappl().


Variable Documentation

int comp_index

Definition at line 33 of file getcomp.c.

char* entry_name

Definition at line 144 of file main.c.

char* Gbase

Definition at line 132 of file codeutil.c.

Referenced by Varg_trace(), and Ventry_trace().

boolean GFflag

Definition at line 133 of file codeutil.c.

Referenced by Varg_trace(), and Ventry_trace().

int Goffset

Definition at line 134 of file codeutil.c.

Referenced by Varg_trace(), and Ventry_trace().

int mask_bit[NREGS] = {R6, R7, R8} [static]

Definition at line 219 of file codeutil.c.

Referenced by Vnewreg(), and Vretreg().

boolean reg_free[NREGS] = {TRUE, TRUE, TRUE} [static]

Definition at line 221 of file codeutil.c.

Referenced by Vnewreg(), and Vretreg().

char* regs[NREGS] = {"r6","r7","r8"} [static]

Definition at line 217 of file codeutil.c.

Referenced by GC_mark_regs(), Vnewreg(), and Vretreg().

FILE* Voutfile

Definition at line 111 of file codegen.c.

int Vreg_bit

Definition at line 225 of file codeutil.c.

Referenced by Vappl(), and Vnewreg().


Generated on Fri Jan 25 10:39:50 2008 for russell by  doxygen 1.5.4