X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fvm%2Fglobal.h;h=8f03fa770bd44a77015e288b8dc5fe97bd08df6c;hb=c1c56324e4929ac157c3d98937da07f4c0e8799a;hp=94051a3762c7fadd59994040ce0461a0b29a366c;hpb=8cd144db7869c4b74b6ba853ec120411332b8892;p=cacao.git diff --git a/src/vm/global.h b/src/vm/global.h index 94051a376..8f03fa770 100644 --- a/src/vm/global.h +++ b/src/vm/global.h @@ -1,9 +1,9 @@ -/* global.h - global definitions +/* vm/global.h - global definitions - 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. @@ -30,8 +30,9 @@ Changes: Mark Probst Philipp Tomsich Edwin Steiner + Joseph Wenninger - $Id: global.h 1658 2004-12-03 15:28:15Z twisti $ + $Id: global.h 1831 2004-12-29 13:47:33Z twisti $ */ @@ -61,7 +62,7 @@ typedef struct arraydescriptor arraydescriptor; /* additional data types ******************************************************/ typedef void *voidptr; /* generic pointer */ -typedef void (*functionptr) (); /* generic function pointer */ +typedef void (*functionptr) (void); /* generic function pointer */ typedef int bool; /* boolean data type */ @@ -75,14 +76,10 @@ typedef int bool; /* boolean data type */ #include "vm/jit/inline/sets.h" -#if defined(USE_THREADS) && defined(NATIVE_THREADS) -#include -#include -#endif +/* define some cacao paths ****************************************************/ -/* define path to rt.jar plus ending : ****************************************/ - -#define RT_JAR_PATH "/jre/lib/rt.jar:" +#define CACAO_LIBRARY_PATH "/jre/lib/"ARCH_DIR"/" +#define CACAO_RT_JAR_PATH "/jre/lib/rt.jar" #define STATISTICS /* if enabled collects program statistics */ @@ -299,10 +296,17 @@ struct literalstring { /* data structure for storing information needed for a stacktrace across native functions*/ + +typedef struct native_stackframeinfo native_stackframeinfo; + struct native_stackframeinfo { void *oldThreadspecificHeadValue; void **addressOfThreadspecificHead; methodinfo *method; +#ifdef __ALPHA__ + void *savedpv; +#endif + void *beginOfJavaStackframe; /*only used if != 0*/ void *returnToFromNative; #if 0 @@ -314,7 +318,8 @@ struct native_stackframeinfo { #endif }; -typedef struct native_stackframeinfo native_stackframeinfo; + +typedef struct stacktraceelement stacktraceelement; struct stacktraceelement { #if POINTERSIZE == 8 @@ -325,7 +330,17 @@ struct stacktraceelement { methodinfo *method; }; -typedef struct stacktraceelement stacktraceelement; + +typedef struct stackTraceBuffer stackTraceBuffer; + +struct stackTraceBuffer { + s4 needsFree; + stacktraceelement *start; + s4 size; + s4 full; +}; + + /* data structure for calls from c code to java methods */