/* jit/parseRT.h - RTA parser header
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- R. Grafl, A. Krall, C. Kruegel, C. Oates, R. Obermaisser,
- M. Probst, S. Ring, E. Steiner, C. Thalinger, D. Thuernbeck,
- P. Tomsich, J. Wenninger
+ Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
+ R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
+ C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
+ Institut f. Computersprachen - TU Wien
This file is part of CACAO.
Authors: Carolyn Oates
- $Id: parseRT.h 907 2004-01-29 13:20:05Z carolyn $
+ $Id: parseRT.h 1735 2004-12-07 14:33:27Z twisti $
*/
-
#ifndef _PARSERT_H
#define _PARSERT_H
-#include "global.h"
-#include <stdio.h>
-#include <string.h>
-#include "jit.h"
-#include "parse.h"
-#include "loader.h"
-#include "main.h"
-#include "natcalls.h"
-
-#include "parseRTprint.h"
-#include "parseRTstats.h"
-#include "sets.h"
-
-#include "tables.h"
-#include"toolbox/loging.h"
-#include "toolbox/memory.h"
-
-#include "types.h"
-
-extern bool XTAOPTbypass;
-extern bool XTAOPTbypass2;
-extern bool XTAOPTbypass3;
-extern int XTAdebug;
-extern int XTAfld;
-
-extern int pWhenMarked;
-extern int pCallgraph; /* 0 - dont print 1 - print at end from main */
- /* 2 - print at end of RT parse call */
- /* 3- print after each method RT parse */
-extern int pClassHeir; /* 0 - dont print 1 - print at end from main */
- /* 2 - print at end of RT parse call 3-print after each method RT parse */
-extern int pClassHeirStatsOnly; /* usually 2 Print only the statistical summary info for class heirarchy */
-
-extern int pOpcodes; /* 0 - don't print 1- print in parse RT 2- print in parse */
- /* 3 - print in both */
-extern int pWhenMarked; /* 0 - don't print 1 - print when added to callgraph + when native parsed*/
- /* 2 - print when marked+methods called */
- /* 3 - print when class/method looked at */
-extern int pStats;
-
-
-extern int methRT;
-extern int methRTlast;
-extern int methRTmax;
-extern methodinfo **callgraph;
-
-extern int methXTA;
-extern int methXTAlast;
-extern int methXTAmax;
-extern methodinfo **XTAcallgraph;
-
-extern void RT_jit_parse(methodinfo *m);
+#include "vm/global.h"
+
+
+extern FILE *rtMissed; /* Methods missed during RTA parse of Main */
+
+typedef struct {
+ listnode linkage;
+ methodinfo *method;
+ } rtaNode ;
+
+
+extern int RT_jit_parse(methodinfo *m);
+
+#define METHINFOx(mm) \
+ { \
+ printf("<c%i/m%i/p%i>\t", \
+ mm->class->classUsed,mm->methodUsed, mm->monoPoly); \
+ method_display_w_class(mm); }
+
+#define METHINFO(mm,flg) \
+if (flg) { \
+ printf("<c%i/m%i/p%i>\t", \
+ mm->class->classUsed,mm->methodUsed, mm->monoPoly); \
+ method_display_w_class(mm); }
+
+#define METHINFOtx(mm,TXT) \
+ { \
+ printf(TXT); \
+ METHINFOx(mm) \
+ }
+
+#define METHINFOt(mm,TXT,flg) \
+if (flg) { \
+ printf(TXT); \
+ METHINFO(mm,flg) \
+ }
+
+#define CLASSNAME1(cls,TXT,flg) \
+if (flg) {printf(TXT); \
+ printf("<c%i>\t",cls->classUsed); \
+ utf_display(cls->name); fflush(stdout);}
+
+#define CLASSNAMEop(cls,flg) \
+if (flg) {printf("\t%s: ",opcode_names[opcode]);\
+ printf("<c%i>\t",cls->classUsed); \
+ utf_display(cls->name); printf("\n");fflush(stdout);}
+
+#define CLASSNAME(cls,TXT,flg) \
+if (flg) { printf(TXT); \
+ printf("<c%i>\t",cls->classUsed); \
+ utf_display(cls->name); printf("\n");fflush(stdout);}
+
+#define SHOWOPCODE \
+if (DEBUGopcodes== true) {printf("Parse p=%i<%i< opcode=<%i> %s\n", \
+ p, m->jcodelength,opcode,opcode_names[opcode]);}
+
+
#endif /* _PARSERT_H */
* tab-width: 4
* End:
*/
+