Can we mark DataCon ptrs only in allocation sites and not generate entry code?

Ömer Sinan Ağacan omeragacan at
Thu Aug 25 10:45:58 UTC 2016

As far as I can see in the native code compiler we mark DataCon
pointers in two places:

1. In allocation sites (StgCmmCon.hs:240)
2. In DataCon entry code (StgCmm.hs:244)

I was wondering why we can't get away with just doing (1). Can anyone give me
an example where an allocation doesn't return a tagged pointer and we need to
tag it in entry code? If every allocation returns a tagged pointer, then why do
we need (2) ?


More information about the ghc-devs mailing list