X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FCapability.h;h=35b920321bf19a553f24b9e5299f83fd91df4cd0;hb=cd24d61675e2f5c9145efcac62f64347789e583c;hp=6fdc002049cd123a0952995c633baaa6bbd00ebb;hpb=7d7c187b4a12f1bb350e85cdb0115e19537cc704;p=ghc-hetmet.git diff --git a/rts/Capability.h b/rts/Capability.h index 6fdc002..35b9203 100644 --- a/rts/Capability.h +++ b/rts/Capability.h @@ -22,7 +22,7 @@ #include "Task.h" #include "Sparks.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE struct Capability_ { // State required by the STG virtual machine when running Haskell @@ -43,9 +43,6 @@ struct Capability_ { // catching unsafe call-ins. rtsBool in_haskell; - // true if this Capability is currently in the GC - rtsBool in_gc; - // The run queue. The Task owning this Capability has exclusive // access to its run queue, so can wake up threads without // taking a lock, and the common path through the scheduler is @@ -69,6 +66,9 @@ struct Capability_ { bdescr **mut_lists; bdescr **saved_mut_lists; // tmp use during GC + // block for allocating pinned objects into + bdescr *pinned_object_block; + // Context switch flag. We used to have one global flag, now one // per capability. Locks required : none (conflicts are harmless) int context_switch; @@ -332,6 +332,6 @@ contextSwitchCapability (Capability *cap) cap->context_switch = 1; } -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* CAPABILITY_H */