Reorganisation of the source tree
[ghc-hetmet.git] / ghc / rts / parallel / Dist.c
diff --git a/ghc/rts/parallel/Dist.c b/ghc/rts/parallel/Dist.c
deleted file mode 100644 (file)
index eeec780..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#include "Dist.h"
-
-#ifdef DIST /* whole file */
-
-#include "RtsFlags.h"
-#include "RtsUtils.h"
-#include "ParallelRts.h"
-#include "Parallel.h" // nPEs,allPEs,mytid 
-#include "HLC.h" //for sendReval
-#include "LLC.h" //for pvm stuff
-#include "FetchMe.h"     // for BLOCKED_FETCH_info 
-#include "Storage.h"       // for recordMutable
-
-/* hopefully the result>0  */
-StgWord32 cGetPECount(void)
-{ return nPEs;
-} 
-
-/* return taskID, n is 1..count, n=1 is always the mainPE */
-StgPEId cGetPEId(StgWord32 n)
-{ return allPEs[n-1];
-}
-
-/* return the taskID */
-StgPEId cGetMyPEId(void)
-{ return mytid;
-}
-
-/* return the taskID of the owning PE of an MVar/TSO:
-- MVAR/TSOs get converted to REMOTE_REFs when shipped, and
-  there is no mechanism for using these REMOTE_REFs 
-  apart from this code.
-*/   
-
-StgPEId cGetCertainOwner(StgClosure *mv)
-{ globalAddr *ga; 
-  switch(get_itbl(mv)->type)
-  { case TSO:
-    case MVAR:
-      return  mytid; // must be local 
-    case REMOTE_REF:
-      ga = LAGAlookup(mv);
-      ASSERT(ga);
-      return ga->payload.gc.gtid; // I know its global address
-  }   
-  barf("Dist.c:cGetCertainOwner() wrong closure type %s",info_type(mv));
-}
-
-/* for some additional fun, lets look up a certain host... */
-StgPEId cGetHostOwner(StgByteArray h) //okay h is a C string 
-{ int nArch,nHost,nTask,i;
-  StgPEId dtid;
-  struct pvmhostinfo *host;   
-  struct pvmtaskinfo *task;
-  
-  dtid=0;
-  pvm_config(&nHost,&nArch,&host); 
-  for(i=0;i<nHost;i++)
-    if(strcmp(host[i].hi_name,h)==0) 
-    { dtid=host[i].hi_tid;
-      break;
-    } 
-  if(dtid==0) return 0; // no host of that name
-  
-  for(i=0;i<nPEs;i++)
-  { pvm_tasks(allPEs[i],&nTask,&task);
-    ASSERT(nTask==1); //cause we lookup a single task
-    if(task[0].ti_host==dtid)
-      return allPEs[i];
-  }  
-  return 0;  //know host, put no PE on it
-}
-
-void cRevalIO(StgClosure *job,StgPEId p)
-{ nat size;
-  rtsPackBuffer *buffer=NULL;
-      
-  ASSERT(get_itbl(job)->type==MVAR);  
-  job=((StgMVar*)job)->value; // extract the job from the MVar
-
-  ASSERT(closure_THUNK(job)); // must be a closure!!!!!
-  ASSERT(p!=mytid);
-  
-  buffer = PackNearbyGraph(job, END_TSO_QUEUE, &size,p);
-  ASSERT(buffer != (rtsPackBuffer *)NULL);
-  ASSERT(get_itbl(job)->type==RBH);  
-  
-  IF_PAR_DEBUG(verbose,
-               belch("@;~) %x doing revalIO to %x\n",
-                    mytid,p)); 
-
-  sendReval(p,size,buffer);  
-  
-  if (RtsFlags.ParFlags.ParStats.Global &&
-      RtsFlags.GcFlags.giveStats > NO_GC_STATS) {
-    globalParStats.tot_reval_mess++;
-  }
-  
-  /* 
-     We turn job into a FETCHME_BQ so that the thread will block
-     when it enters it.
-     
-     Note: it will not receive an ACK, thus no GA.   
-  */
-  
-  ASSERT(get_itbl(job)->type==RBH);  
-   /* put closure on mutables list, while it is still a RBH */
-  recordMutable((StgMutClosure *)job);
-
-  /* actually turn it into a FETCH_ME_BQ */
-  SET_INFO(job, &FETCH_ME_BQ_info);
-  ((StgFetchMe *)job)->ga = 0;     //hope this won't make anyone barf!!!
-  ((StgBlockingQueue*)job)->blocking_queue=END_BQ_QUEUE;
-}
-
-#endif