HomePhabricator

[codeview] Add support for splitting field list records over 64KB

Description

[codeview] Add support for splitting field list records over 64KB

The basic structure is that once a list record goes over 64K, the last
subrecord of the list is an LF_INDEX record that refers to the next
record. Because the type record graph must be toplogically sorted, this
means we have to emit them in reverse order. We build the type record in
order of declaration, so this means that if we don't want extra copies,
we need to detect when we were about to split a record, and leave space
for a continuation subrecord that will point to the eventual split
top-level record.

Also adds dumping support for these records.

Next we should make sure that large method overload lists work properly.

Details

Committed
rnkJun 21 2016, 11:33 AM
Parents
rL273293: Performance improvement: accessing thread struct as opposed to team struct
Branches
Unknown
Tags
Unknown