> Also, did you check that the tag we apply to the closure pointer matches the > tag that the info table defines?
Yep, see my update in the Gitlab issue. Ömer Ben Gamari <b...@smart-cactus.org>, 27 Nis 2019 Cmt, 16:51 tarihinde şunu yazdı: > > Ömer Sinan Ağacan <omeraga...@gmail.com> writes: > > > Hi all, > > > > I'm trying to find all places in the code generator where we assume that a > > pointer is tagged with a certain value. A generated code for this looks like > > this: > > > > mov 0x6(%rbx),%rax > > > > This moves payload[0] of the closure in %rbx to %rax, but it assumes that > > %rbx > > is tagged with 2 so it does 0x6(%rbx) instead of 0x8(%rbx). > > > > Anyone know where I should be looking at? > > > I would start by looking at uses of tagForCon, lfDynTag and > mkTaggedObjectLoad. > > Also, did you check that the tag we apply to the closure pointer matches > the tag that the info table defines? > > Cheers, > > - Ben _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs