Skip to content

Tag inference for join points

In !11315 I've noticed that in Stg join point ids that return unboxed values (e.g. Int#) are tagged with TagProper. E.g.

case leWord# [x1_s6su y1_s6sw] of lwild_s6sx {
  __DEFAULT -> 0#
  1#        -> $j_s6si<TagProper> -- <-- HERE
}

TagProper is documented as Heap pointer to properly-tagged value so either the tagging or the documentation is wrong. I've been expecting tagged to mean evaluated so could we tag join points with TagDunno instead?

EDIT by AK: I agree it might be slighly less confusing to give join points TagDunno. But I don't think it will change the code we generate.

Edited by Andreas Klebinger
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information