<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >CgCallConv</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_CgCallConv.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >ghc-6.12.3: The GHC API</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >CgCallConv</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkArgDescr" >mkArgDescr</A > :: <A HREF="Name.html#t%3AName" >Name</A > -> [<A HREF="Var.html#t%3AId" >Id</A >] -> <A HREF="CgMonad.html#t%3AFCode" >FCode</A > <A HREF="ClosureInfo.html#t%3AArgDescr" >ArgDescr</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AargDescrType" >argDescrType</A > :: <A HREF="ClosureInfo.html#t%3AArgDescr" >ArgDescr</A > -> <A HREF="SMRep.html#t%3AStgHalfWord" >StgHalfWord</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisBigLiveness" >isBigLiveness</A > :: <A HREF="ClosureInfo.html#t%3ALiveness" >Liveness</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkRegLiveness" >mkRegLiveness</A > :: [(<A HREF="Var.html#t%3AId" >Id</A >, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)] -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="SMRep.html#t%3AStgWord" >StgWord</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsmallLiveness" >smallLiveness</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="SMRep.html#t%3AStgWord" >StgWord</A > -> <A HREF="ClosureInfo.html#t%3ALiveness" >Liveness</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkLivenessCLit" >mkLivenessCLit</A > :: <A HREF="ClosureInfo.html#t%3ALiveness" >Liveness</A > -> <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AassignCallRegs" >assignCallRegs</A > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)] -> ([(a, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AassignReturnRegs" >assignReturnRegs</A > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)] -> ([(a, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AassignPrimOpCallRegs" >assignPrimOpCallRegs</A > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)] -> ([(a, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AconstructSlowCall" >constructSlowCall</A > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)] -> (<A HREF="CLabel.html#t%3ACLabel" >CLabel</A >, [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AslowArgs" >slowArgs</A > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)] -> [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AslowCallPattern" >slowCallPattern</A > :: [<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >] -> (<A HREF="FastString.html#t%3ALitString" >LitString</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdataReturnConvPrim" >dataReturnConvPrim</A > :: <A HREF="SMRep.html#t%3ACgRep" >CgRep</A > -> <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetSequelAmode" >getSequelAmode</A > :: <A HREF="CgMonad.html#t%3AFCode" >FCode</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkArgDescr" ><A NAME="v%3AmkArgDescr" ></A ></A ><B >mkArgDescr</B > :: <A HREF="Name.html#t%3AName" >Name</A > -> [<A HREF="Var.html#t%3AId" >Id</A >] -> <A HREF="CgMonad.html#t%3AFCode" >FCode</A > <A HREF="ClosureInfo.html#t%3AArgDescr" >ArgDescr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:argDescrType" ><A NAME="v%3AargDescrType" ></A ></A ><B >argDescrType</B > :: <A HREF="ClosureInfo.html#t%3AArgDescr" >ArgDescr</A > -> <A HREF="SMRep.html#t%3AStgHalfWord" >StgHalfWord</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isBigLiveness" ><A NAME="v%3AisBigLiveness" ></A ></A ><B >isBigLiveness</B > :: <A HREF="ClosureInfo.html#t%3ALiveness" >Liveness</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkRegLiveness" ><A NAME="v%3AmkRegLiveness" ></A ></A ><B >mkRegLiveness</B > :: [(<A HREF="Var.html#t%3AId" >Id</A >, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)] -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="SMRep.html#t%3AStgWord" >StgWord</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:smallLiveness" ><A NAME="v%3AsmallLiveness" ></A ></A ><B >smallLiveness</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="SMRep.html#t%3AStgWord" >StgWord</A > -> <A HREF="ClosureInfo.html#t%3ALiveness" >Liveness</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkLivenessCLit" ><A NAME="v%3AmkLivenessCLit" ></A ></A ><B >mkLivenessCLit</B > :: <A HREF="ClosureInfo.html#t%3ALiveness" >Liveness</A > -> <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:assignCallRegs" ><A NAME="v%3AassignCallRegs" ></A ></A ><B >assignCallRegs</B > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)] -> ([(a, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:assignReturnRegs" ><A NAME="v%3AassignReturnRegs" ></A ></A ><B >assignReturnRegs</B > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)] -> ([(a, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:assignPrimOpCallRegs" ><A NAME="v%3AassignPrimOpCallRegs" ></A ></A ><B >assignPrimOpCallRegs</B > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)] -> ([(a, <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, a)])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:constructSlowCall" ><A NAME="v%3AconstructSlowCall" ></A ></A ><B >constructSlowCall</B > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)] -> (<A HREF="CLabel.html#t%3ACLabel" >CLabel</A >, [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)], [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:slowArgs" ><A NAME="v%3AslowArgs" ></A ></A ><B >slowArgs</B > :: [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)] -> [(<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >, <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >)]</TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="CgCallConv.html#v%3AslowArgs" >slowArgs</A ></TT > takes a list of function arguments and prepares them for pushing on the stack for <A HREF="extra.html" >extra</A > arguments to a function which requires fewer arguments than we currently have. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:slowCallPattern" ><A NAME="v%3AslowCallPattern" ></A ></A ><B >slowCallPattern</B > :: [<A HREF="SMRep.html#t%3ACgRep" >CgRep</A >] -> (<A HREF="FastString.html#t%3ALitString" >LitString</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dataReturnConvPrim" ><A NAME="v%3AdataReturnConvPrim" ></A ></A ><B >dataReturnConvPrim</B > :: <A HREF="SMRep.html#t%3ACgRep" >CgRep</A > -> <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getSequelAmode" ><A NAME="v%3AgetSequelAmode" ></A ></A ><B >getSequelAmode</B > :: <A HREF="CgMonad.html#t%3AFCode" >FCode</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >