Emitting calls to functions defined in PrimOps.cmm from the code gen

Carter Schonwald carter.schonwald at gmail.com
Fri Mar 7 14:19:13 UTC 2014


Have you looked at some of the lowering code for other primops? What info
are you missing?

On Friday, March 7, 2014, Johan Tibell <johan.tibell at gmail.com> wrote:

> Hi,
>
> I'm trying to make allocation of arrays of small, statically-known size
> inline. For large or unknown size I just want to call the existing
> stg_newArrayzh function. In code:
>
> doNewArrayOp :: DynFlags -> CmmFormal -> CmmExpr -> FCode ()
> doNewArrayOp dflags res_r (CmmLit (CmmInt n _)) | n <= inlineAllocLimit =
> do
>     -- Do everything inline.
> doNewArrayOp dflags res_r n = do
>     emitCallTo "stg_newArrayzh" res_r n  -- HERE
>
> The question is: how do I emit a call to stg_newArrayzh, which is defined
> in PrimOps.cmm?
>
> -- Johan
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140307/1385d232/attachment.html>


More information about the ghc-devs mailing list