Skip to content
  • Ben Gamari's avatar
    6b0d2022
    Refactor IPE initialization · 6b0d2022
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    Here we refactor the representation of info table provenance information
    in object code to significantly reduce its size and link-time impact.
    Specifically, we deduplicate strings and represent them as 32-bit
    offsets into a common string table.
    
    In addition, we rework the registration logic to eliminate allocation
    from the registration path, which is run from a static initializer where
    things like allocation are technically undefined behavior (although it
    did previously seem to work). For similar reasons we eliminate lock
    usage from registration path, instead relying on atomic CAS.
    
    Closes #22077.
    6b0d2022
    Refactor IPE initialization
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    Here we refactor the representation of info table provenance information
    in object code to significantly reduce its size and link-time impact.
    Specifically, we deduplicate strings and represent them as 32-bit
    offsets into a common string table.
    
    In addition, we rework the registration logic to eliminate allocation
    from the registration path, which is run from a static initializer where
    things like allocation are technically undefined behavior (although it
    did previously seem to work). For similar reasons we eliminate lock
    usage from registration path, instead relying on atomic CAS.
    
    Closes #22077.
Loading