Commit a2970f88 authored by thomie's avatar thomie

RTS: delete BlockedOnGA* + dead code

Some old stuff related to the PAR way.

Reviewed by: austin, simonmar

Differential Revision: https://phabricator.haskell.org/D2137
parent 0fa1d075
......@@ -212,11 +212,6 @@
/* 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
......
......@@ -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.
-------------------------------------------------------------------------- */
......
......@@ -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
/* -----------------------------------------------------------------------------
......
......@@ -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) */
......
......@@ -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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment