Bug fixes for gc
authorjzhou <jzhou>
Thu, 24 Mar 2011 00:12:27 +0000 (00:12 +0000)
committerjzhou <jzhou>
Thu, 24 Mar 2011 00:12:27 +0000 (00:12 +0000)
Robust/src/IR/Tree/SemanticCheck.java
Robust/src/Runtime/bamboo/multicoremem.c
Robust/src/Runtime/runtime.h

index ea430cfc079541f8055426d600940f5cc36e8574..cc4e04636bdaf5f7d4275ac80af2a05a00ab40eb 100644 (file)
@@ -723,7 +723,7 @@ public class SemanticCheck {
       Descriptor d=(Descriptor)nametable.get(varname);
       if (d==null) {
         ClassDescriptor cd = null;
-        if(((MethodDescriptor)md).isStaticBlock()) {
+        if((md instanceof MethodDescriptor) && ((MethodDescriptor)md).isStaticBlock()) {
           // this is a static block, all the accessed fields should be static field
           cd = ((MethodDescriptor)md).getClassDesc();
           SymbolTable fieldtbl = cd.getFieldTable();
index 61d79cf9735e983870a12cc9980928760414a137..d225683e488378986880b928cc6914ff4b9108d0 100644 (file)
@@ -316,8 +316,6 @@ void * fixedmalloc_I(int coren,
   int j = 0;
   int k = 0;
   int gccorenum = (coren < NUMCORES4GC) ? (coren) : (coren % NUMCORES4GC);
-  int coords_x = bamboo_cpu2coords[gccorenum*2];
-  int coords_y = bamboo_cpu2coords[gccorenum*2+1];
   int ii = 1;
   int tofindb = gc_core2block[2*core2test[gccorenum][k]+i]+(NUMCORES4GC*2)*j;
   int totest = tofindb;
index 8f9e5f4b08dc66f34a51be726fe9db9aff22817e..291244b3ab16de4b927d4b13723d42c15cd00822 100644 (file)
@@ -100,7 +100,11 @@ void failedboundschk();
 void failednullptr();
 void abort_task();
 void injectinstructionfailure();
+#ifdef MULTICORE
+void createstartupobject(int argc, char ** argv);
+#else
 void createstartupobject();
+#endif
 
 #ifdef PRECISE_GC
 #define VAR(name) ___params___->name