#include "delaycomp.h"
#endif
-#define NUMPTRS 100
#ifndef INITIALHEAPSIZE_MB
#define INITIALHEAPSIZE_MB (256)
/* This define takes in how full the heap is initially and returns a new heap size to use */
#define HEAPSIZE(x,y) ((INTPTR)(x+y))*2
-#ifdef TASK
-extern struct genhashtable * activetasks;
-#ifndef MULTICORE
-extern struct parameterwrapper * objectqueues[NUMCLASSES];
-#endif
-extern struct genhashtable * failedtasks;
-extern struct taskparamdescriptor *currtpd;
-extern struct ctable *forward;
-extern struct ctable *reverse;
-extern struct RuntimeHash *fdtoobject;
-#endif
-
#ifdef GARBAGESTATS
#define MAXSTATS 500
long garbagearray[MAXSTATS];
#include "jni-private.h"
#endif
+#define NUMPTRS 100
+
struct garbagelist {
int size;
struct garbagelist *next;
#ifdef TASK
void fixtags();
+extern struct pointerblock *taghead;
+extern int tagindex;
#endif
#if defined(THREADS)||defined(DSTM)||defined(STM)||defined(MLP)
#include "garbage.h"
+#include "runtime.h"
+#include "structdefs.h"
+#include "SimpleHash.h"
+#include "GenericHashtable.h"
+
#ifdef TASK
+
+extern struct genhashtable * activetasks;
+extern struct genhashtable * failedtasks;
+extern struct taskparamdescriptor *currtpd;
+extern struct ctable *forward;
+extern struct ctable *reverse;
+extern struct RuntimeHash *fdtoobject;
+
+#ifndef MULTICORE
+extern struct parameterwrapper * objectqueues[NUMCLASSES];
+#endif
+
+
void searchtaskroots() {
{
/* Update objectsets */