StgHeader header;
StgClosure *indirectee;
StgClosure *static_link;
- StgInfoTable *saved_info;
+ const StgInfoTable *saved_info;
} StgIndStatic;
typedef struct StgBlockingQueue_ {
typedef struct {
StgHeader header;
- StgWord words;
+ StgWord bytes;
StgWord payload[FLEXIBLE_ARRAY];
} StgArrWords;
typedef struct {
StgHeader header;
- StgInt exceptions_blocked;
+ StgWord exceptions_blocked;
StgClosure *handler;
} StgCatchFrame;
typedef struct {
+ const StgInfoTable* info;
+ struct StgStack_ *next_chunk;
+} StgUnderflowFrame;
+
+typedef struct {
StgHeader header;
} StgStopFrame;
/* Concurrent communication objects */
+typedef struct StgMVarTSOQueue_ {
+ StgHeader header;
+ struct StgMVarTSOQueue_ *link;
+ struct StgTSO_ *tso;
+} StgMVarTSOQueue;
+
typedef struct {
- StgHeader header;
- struct StgTSO_ *head;
- struct StgTSO_ *tail;
- StgClosure* value;
+ StgHeader header;
+ struct StgMVarTSOQueue_ *head;
+ struct StgMVarTSOQueue_ *tail;
+ StgClosure* value;
} StgMVar;