Opened 2 years ago

Last modified 13 months ago

#14373 patch bug

Introduce PTR-tagging for big constructor families

Reported by: heisenbug Owned by: heisenbug
Priority: normal Milestone:
Component: Compiler Version: 8.2.1
Keywords: CodeGen Cc: osa1
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s): Phab:D4267
Wiki Page:


Currently only small constructor families come into the benefit of pointer tagging.

In big fams, 1 is the tag that says "I am evaluated". I suggest to do best-effort pointer tagging on big families too by this scheme:

Ptr-tag 1..6 for the first 6 constructors, 7 would signify "look into the info table and branch on that tag". In the info table the tags will then be 6..(familySize - 1).

I have an implementation which I'll submit to fabricator soon.

TODOs: update wiki pages.

Change History (8)

comment:1 Changed 2 years ago by simonpj

See branch wip/T14373

comment:2 Changed 2 years ago by heisenbug

Status: newpatch

comment:3 Changed 2 years ago by heisenbug

Last edited 2 years ago by heisenbug (previous) (diff)

comment:5 Changed 21 months ago by heisenbug

Owner: set to heisenbug

comment:6 Changed 21 months ago by duog

Differential Rev(s): Phab:D4267

comment:7 Changed 16 months ago by simonpj

Keywords: CodeGen added

comment:8 Changed 13 months ago by osa1

Cc: osa1 added
Note: See TracTickets for help on using tickets.