If it returns NULL, then I need to back off what I'm doing and trigger a GC. How do I do the latter?
On Thu, Sep 20, 2018, 5:31 AM Ömer Sinan Ağacan <omeraga...@gmail.com> wrote: > allocateMightFail does the heap check for you and returns NULL. For the > current > capability you can use MyCapability() in Cmm and pass the value to the RTS > function you're implementing. > > Ömer > > David Feuer <david.fe...@gmail.com>, 20 Eyl 2018 Per, 12:26 tarihinde > şunu yazdı: > > > > Aha! Okay. How do I get the current capability to pass to that? I guess > I should probably perform a heap check before calling lookupSta bleName for > simplicity, at least to start. > > > > On Thu, Sep 20, 2018, 5:16 AM Ömer Sinan Ağacan <omeraga...@gmail.com> > wrote: > >> > >> Have you seen Storage.c:allocateMightFail ? > >> > >> Ömer > >> > >> > >> David Feuer <david.fe...@gmail.com>, 20 Eyl 2018 Per, 11:32 tarihinde > >> şunu yazdı: > >> > > >> > I'm working on re-implementing the stable name system. For the new > design, it seems much cleaner to allocate stable names in lookupStableName > (in rts/StableName.c) rather than in the C-- code that calls it. But I > haven't seen RTS code that does heap allocation. Is it possible? If so, how > do I do it? > >> > _______________________________________________ > >> > ghc-devs mailing list > >> > ghc-devs@haskell.org > >> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs