Awesome! Please post a link to the new version on devs when it lands! (I'm not quite at the point where I can keep up with the full commits firehose yet). This is very relevant for me.
On Friday, March 7, 2014, Johan Tibell <[email protected]> wrote: > With Simon's help I figured it out. I'm now refactoring StgCmmPrimOp so > it's easier to have primops that have both inline and out-of-line > implementations in the future. > > > On Fri, Mar 7, 2014 at 3:19 PM, Carter Schonwald < > [email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');> > > wrote: > >> Have you looked at some of the lowering code for other primops? What info >> are you missing? >> >> >> On Friday, March 7, 2014, Johan Tibell >> <[email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');>> >> 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 >>> >>> >
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
