Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 3033

ghc-7.4.2-4.mga5.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SMRep</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_SMRep.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">SMRep</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Words and bytes
</a></li><li><a href="#g:2">Closure repesentation
</a><ul><li><a href="#g:3">Construction
</a></li><li><a href="#g:4">Predicates
</a></li><li><a href="#g:5">Size-related things
</a></li><li><a href="#g:6">RTS closure types
</a></li></ul></li><li><a href="#g:7">Operations over [Word8] strings that don't belong here
</a></li></ul></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:StgWord">StgWord</a> = <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:StgHalfWord">StgHalfWord</a> = <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a></li><li class="src short"><a href="#v:hALF_WORD_SIZE">hALF_WORD_SIZE</a> :: <a href="SMRep.html#t:ByteOff">ByteOff</a></li><li class="src short"><a href="#v:hALF_WORD_SIZE_IN_BITS">hALF_WORD_SIZE_IN_BITS</a> :: <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:WordOff">WordOff</a> = <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:ByteOff">ByteOff</a> = <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:SMRep">SMRep</a> <ul class="subs"><li>= <a href="#v:HeapRep">HeapRep</a> <a href="SMRep.html#t:IsStatic">IsStatic</a> !<a href="SMRep.html#t:WordOff">WordOff</a> !<a href="SMRep.html#t:WordOff">WordOff</a> <a href="SMRep.html#t:ClosureTypeInfo">ClosureTypeInfo</a>  </li><li>| <a href="#v:StackRep">StackRep</a> <a href="SMRep.html#t:Liveness">Liveness</a>  </li><li>| <a href="#v:RTSRep">RTSRep</a> <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a> <a href="SMRep.html#t:SMRep">SMRep</a>  </li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:IsStatic">IsStatic</a> = <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ClosureTypeInfo">ClosureTypeInfo</a> <ul class="subs"><li>= <a href="#v:Constr">Constr</a> ConstrTag <a href="SMRep.html#t:ConstrDescription">ConstrDescription</a>  </li><li>| <a href="#v:Fun">Fun</a> FunArity <a href="SMRep.html#t:ArgDescr">ArgDescr</a>  </li><li>| <a href="#v:Thunk">Thunk</a>  </li><li>| <a href="#v:ThunkSelector">ThunkSelector</a> SelectorOffset  </li><li>| <a href="#v:BlackHole">BlackHole</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ArgDescr">ArgDescr</a> <ul class="subs"><li>= <a href="#v:ArgSpec">ArgSpec</a> !<a href="SMRep.html#t:StgHalfWord">StgHalfWord</a>  </li><li>| <a href="#v:ArgGen">ArgGen</a> <a href="SMRep.html#t:Liveness">Liveness</a>  </li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:Liveness">Liveness</a> = [<a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:ConstrDescription">ConstrDescription</a> = [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>]</li><li class="src short"><a href="#v:mkHeapRep">mkHeapRep</a> :: <a href="SMRep.html#t:IsStatic">IsStatic</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="SMRep.html#t:ClosureTypeInfo">ClosureTypeInfo</a> -&gt; <a href="SMRep.html#t:SMRep">SMRep</a></li><li class="src short"><a href="#v:blackHoleRep">blackHoleRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a></li><li class="src short"><a href="#v:mkStackRep">mkStackRep</a> :: [<a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>] -&gt; <a href="SMRep.html#t:SMRep">SMRep</a></li><li class="src short"><a href="#v:mkRTSRep">mkRTSRep</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a> -&gt; <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:SMRep">SMRep</a></li><li class="src short"><a href="#v:isStaticRep">isStaticRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:IsStatic">IsStatic</a></li><li class="src short"><a href="#v:isConRep">isConRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isThunkRep">isThunkRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isFunRep">isFunRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isStaticNoCafCon">isStaticNoCafCon</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:heapClosureSize">heapClosureSize</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a></li><li class="src short"><a href="#v:fixedHdrSize">fixedHdrSize</a> :: <a href="SMRep.html#t:WordOff">WordOff</a></li><li class="src short"><a href="#v:arrWordsHdrSize">arrWordsHdrSize</a> :: <a href="SMRep.html#t:ByteOff">ByteOff</a></li><li class="src short"><a href="#v:arrPtrsHdrSize">arrPtrsHdrSize</a> :: <a href="SMRep.html#t:ByteOff">ByteOff</a></li><li class="src short"><a href="#v:profHdrSize">profHdrSize</a> :: <a href="SMRep.html#t:WordOff">WordOff</a></li><li class="src short"><a href="#v:thunkHdrSize">thunkHdrSize</a> :: <a href="SMRep.html#t:WordOff">WordOff</a></li><li class="src short"><a href="#v:nonHdrSize">nonHdrSize</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a></li><li class="src short"><a href="#v:rtsClosureType">rtsClosureType</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></li><li class="src short"><a href="#v:rET_SMALL">rET_SMALL</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></li><li class="src short"><a href="#v:rET_BIG">rET_BIG</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></li><li class="src short"><a href="#v:aRG_GEN">aRG_GEN</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></li><li class="src short"><a href="#v:aRG_GEN_BIG">aRG_GEN_BIG</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></li><li class="src short"><a href="#v:pprWord8String">pprWord8String</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:stringToWord8s">stringToWord8s</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>]</li></ul></div><div id="interface"><h1 id="g:1">Words and bytes
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:StgWord" class="def">StgWord</a> = <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:StgHalfWord" class="def">StgHalfWord</a> = <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a></p></div><div class="top"><p class="src"><a name="v:hALF_WORD_SIZE" class="def">hALF_WORD_SIZE</a> :: <a href="SMRep.html#t:ByteOff">ByteOff</a></p></div><div class="top"><p class="src"><a name="v:hALF_WORD_SIZE_IN_BITS" class="def">hALF_WORD_SIZE_IN_BITS</a> :: <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:WordOff" class="def">WordOff</a> = <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ByteOff" class="def">ByteOff</a> = <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><h1 id="g:2">Closure repesentation
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:SMRep" class="def">SMRep</a>  </p><div class="doc"><p>A description of the layout of a closure.  Corresponds directly
 to the closure types in includes<em>rts</em>storage/ClosureTypes.h.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HeapRep" class="def">HeapRep</a> <a href="SMRep.html#t:IsStatic">IsStatic</a> !<a href="SMRep.html#t:WordOff">WordOff</a> !<a href="SMRep.html#t:WordOff">WordOff</a> <a href="SMRep.html#t:ClosureTypeInfo">ClosureTypeInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:StackRep" class="def">StackRep</a> <a href="SMRep.html#t:Liveness">Liveness</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:RTSRep" class="def">RTSRep</a> <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a> <a href="SMRep.html#t:SMRep">SMRep</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:SMRep" class="caption collapser" onclick="toggleSection('i:SMRep')">Instances</p><div id="section.i:SMRep" class="show"><table><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="SMRep.html#t:SMRep">SMRep</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:IsStatic" class="def">IsStatic</a> = <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>True <a href="=">=</a> This is a static closure.  Affects how we garbage-collect it.
 Static closure have an extra static link field at the end.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ClosureTypeInfo" class="def">ClosureTypeInfo</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Constr" class="def">Constr</a> ConstrTag <a href="SMRep.html#t:ConstrDescription">ConstrDescription</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Fun" class="def">Fun</a> FunArity <a href="SMRep.html#t:ArgDescr">ArgDescr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Thunk" class="def">Thunk</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ThunkSelector" class="def">ThunkSelector</a> SelectorOffset</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BlackHole" class="def">BlackHole</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ClosureTypeInfo" class="caption collapser" onclick="toggleSection('i:ClosureTypeInfo')">Instances</p><div id="section.i:ClosureTypeInfo" class="show"><table><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="SMRep.html#t:ClosureTypeInfo">ClosureTypeInfo</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ArgDescr" class="def">ArgDescr</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ArgSpec" class="def">ArgSpec</a> !<a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ArgGen" class="def">ArgGen</a> <a href="SMRep.html#t:Liveness">Liveness</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ArgDescr" class="caption collapser" onclick="toggleSection('i:ArgDescr')">Instances</p><div id="section.i:ArgDescr" class="show"><table><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="SMRep.html#t:ArgDescr">ArgDescr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Liveness" class="def">Liveness</a> = [<a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>]</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ConstrDescription" class="def">ConstrDescription</a> = [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>]</p></div><h2 id="g:3">Construction
</h2><div class="top"><p class="src"><a name="v:mkHeapRep" class="def">mkHeapRep</a> :: <a href="SMRep.html#t:IsStatic">IsStatic</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="SMRep.html#t:ClosureTypeInfo">ClosureTypeInfo</a> -&gt; <a href="SMRep.html#t:SMRep">SMRep</a></p></div><div class="top"><p class="src"><a name="v:blackHoleRep" class="def">blackHoleRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a></p></div><div class="top"><p class="src"><a name="v:mkStackRep" class="def">mkStackRep</a> :: [<a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>] -&gt; <a href="SMRep.html#t:SMRep">SMRep</a></p></div><div class="top"><p class="src"><a name="v:mkRTSRep" class="def">mkRTSRep</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a> -&gt; <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:SMRep">SMRep</a></p></div><h2 id="g:4">Predicates
</h2><div class="top"><p class="src"><a name="v:isStaticRep" class="def">isStaticRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:IsStatic">IsStatic</a></p></div><div class="top"><p class="src"><a name="v:isConRep" class="def">isConRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isThunkRep" class="def">isThunkRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isFunRep" class="def">isFunRep</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:isStaticNoCafCon" class="def">isStaticNoCafCon</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><h2 id="g:5">Size-related things
</h2><div class="top"><p class="src"><a name="v:heapClosureSize" class="def">heapClosureSize</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a></p></div><div class="top"><p class="src"><a name="v:fixedHdrSize" class="def">fixedHdrSize</a> :: <a href="SMRep.html#t:WordOff">WordOff</a></p><div class="doc"><p>Size of a closure header (StgHeader in includes<em>rts</em>storage/Closures.h)
</p></div></div><div class="top"><p class="src"><a name="v:arrWordsHdrSize" class="def">arrWordsHdrSize</a> :: <a href="SMRep.html#t:ByteOff">ByteOff</a></p></div><div class="top"><p class="src"><a name="v:arrPtrsHdrSize" class="def">arrPtrsHdrSize</a> :: <a href="SMRep.html#t:ByteOff">ByteOff</a></p></div><div class="top"><p class="src"><a name="v:profHdrSize" class="def">profHdrSize</a> :: <a href="SMRep.html#t:WordOff">WordOff</a></p><div class="doc"><p>Size of the profiling part of a closure header
 (StgProfHeader in includes<em>rts</em>storage/Closures.h)
</p></div></div><div class="top"><p class="src"><a name="v:thunkHdrSize" class="def">thunkHdrSize</a> :: <a href="SMRep.html#t:WordOff">WordOff</a></p></div><div class="top"><p class="src"><a name="v:nonHdrSize" class="def">nonHdrSize</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a></p></div><h2 id="g:6">RTS closure types
</h2><div class="top"><p class="src"><a name="v:rtsClosureType" class="def">rtsClosureType</a> :: <a href="SMRep.html#t:SMRep">SMRep</a> -&gt; <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></p><div class="doc"><p>Derives the RTS closure type from an <code><a href="SMRep.html#t:SMRep">SMRep</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:rET_SMALL" class="def">rET_SMALL</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></p></div><div class="top"><p class="src"><a name="v:rET_BIG" class="def">rET_BIG</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></p></div><div class="top"><p class="src"><a name="v:aRG_GEN" class="def">aRG_GEN</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></p></div><div class="top"><p class="src"><a name="v:aRG_GEN_BIG" class="def">aRG_GEN_BIG</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></p></div><h1 id="g:7">Operations over [Word8] strings that don't belong here
</h1><div class="top"><p class="src"><a name="v:pprWord8String" class="def">pprWord8String</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:stringToWord8s" class="def">stringToWord8s</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>]</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>