Skip to content

Use pointer tag in dataToTag#

Ben Gamari requested to merge wip/dataToTag-opt into master

While looking at !2873 (closed) I noticed that dataToTag# previously didn't look at a pointer's tag to determine its constructor. To be fair, there is a bit of a trade-off here: using the pointer tag requires a bit more code and another branch. On the other hand, it allows us to eliminate entering the closure and referring to the info table in many cases (especially now since we tag large constructor families; see #14373 (closed)). If we execute on #16578 then we this will likely be a significant optimisation.

Fixes #18209 (closed).

TODO

  • perhaps eliminate second tag check
Edited by Ben Gamari

Merge request reports