RTS: delete BlockedOnGA* + dead code
authorThomas Miedema <thomasmiedema@gmail.com>
Sat, 27 Feb 2016 21:02:22 +0000 (22:02 +0100)
committerThomas Miedema <thomasmiedema@gmail.com>
Fri, 29 Apr 2016 08:48:27 +0000 (10:48 +0200)
Some old stuff related to the PAR way.

Reviewed by: austin, simonmar

Differential Revision: https://phabricator.haskell.org/D2137

includes/rts/Constants.h
includes/rts/storage/ClosureMacros.h
includes/rts/storage/InfoTables.h
includes/rts/storage/TSO.h
rts/sm/Scav.c

index 6e44410..b65b8d3 100644 (file)
 /* Win32 only: */
 #define BlockedOnDoProc     7
 
-/* Only relevant for PAR: */
-  /* blocked on a remote closure represented by a Global Address: */
-#define BlockedOnGA         8
-  /* same as above but without sending a Fetch message */
-#define BlockedOnGA_NoSend  9
 /* Only relevant for THREADED_RTS: */
 #define BlockedOnCCall      10
 #define BlockedOnCCall_Interruptible 11
index d534873..03589f2 100644 (file)
@@ -177,12 +177,6 @@ STATIC_LINK(const StgInfoTable *info, StgClosure *p)
     }
 }
 
-INLINE_HEADER StgClosure *STATIC_LINK2(const StgInfoTable *info,
-                                       StgClosure *p) {
-    return (*(StgClosure**)(&((p)->payload[info->layout.payload.ptrs +
-                            info->layout.payload.nptrs + 1])));
-}
-
 /* -----------------------------------------------------------------------------
    INTLIKE and CHARLIKE closures.
    -------------------------------------------------------------------------- */
index 3de63c8..b165be2 100644 (file)
@@ -17,7 +17,7 @@
    position-independent code.
 
    Note [x86-64-relative]
-   There is a complication on the x86_64 platform, where pointeres are
+   There is a complication on the x86_64 platform, where pointers are
    64 bits, but the tools don't support 64-bit relative relocations.
    However, the default memory model (small) ensures that all symbols
    have values in the lower 2Gb of the address space, so offsets all
@@ -208,7 +208,7 @@ typedef struct StgInfoTable_ {
 #ifdef TABLES_NEXT_TO_CODE
     StgCode         code[];
 #endif
-} *StgInfoTablePtr;
+} *StgInfoTablePtr; // StgInfoTable defined in rts/Types.h
 
 
 /* -----------------------------------------------------------------------------
index aa3d057..fd32919 100644 (file)
@@ -184,7 +184,7 @@ typedef struct StgTSO_ {
     StgWord32 saved_winerror;
 #endif
 
-} *StgTSOPtr;
+} *StgTSOPtr; // StgTSO defined in rts/Types.h
 
 typedef struct StgStack_ {
     StgHeader  header;
@@ -242,8 +242,6 @@ void dirty_STACK (Capability *cap, StgStack *stack);
         BlockedOnRead          NULL                 blocked_queue
         BlockedOnWrite         NULL                 blocked_queue
         BlockedOnDelay         NULL                 blocked_queue
-        BlockedOnGA            closure TSO blocks on   BQ of that closure
-        BlockedOnGA_NoSend     closure TSO blocks on   BQ of that closure
 
       tso->link == END_TSO_QUEUE, if the thread is currently running.
 
@@ -258,13 +256,6 @@ void dirty_STACK (Capability *cap, StgStack *stack);
       (tso->sp is left pointing at the top word on the stack so that
       the return value or exception will be retained by a GC).
 
-   The 2 cases BlockedOnGA and BlockedOnGA_NoSend are needed in a GUM
-   setup only. They mark a TSO that has entered a FETCH_ME or
-   FETCH_ME_BQ closure, respectively; only the first TSO hitting the
-   closure will send a Fetch message.
-   Currently we have no separate code for blocking on an RBH; we use the
-   BlockedOnBlackHole case for that.   -- HWL
-
  ---------------------------------------------------------------------------- */
 
 /* this is the NIL ptr for a TSO queue (e.g. runnable queue) */
index abb7726..7f64ea6 100644 (file)
@@ -1702,10 +1702,6 @@ scavenge_static(void)
 
     ASSERT(LOOKS_LIKE_CLOSURE_PTR(p));
     info = get_itbl(p);
-    /*
-        if (info->type==RBH)
-        info = REVERT_INFOPTR(info); // if it's an RBH, look at the orig closure
-    */
     // make sure the info pointer is into text space
 
     /* Take this object *off* the static_objects list,