This patch expands to even more PCH abbreviations for serialization.  The major 
change here is now DeclaratorDecl children serialize the TypeSourceInfo last, 
which allows us to capture it as an array, as it's the last element serialized.

This gives some major improvements to ParmVarDecl serialization, where it was 
once only abbreviated a single-digit percentage of the time, now it's 
abbreviated more than 90% of the time for ObjC headers tested, and more than 
50% of the time for C++ headers test.

With this I also added support for abbreviating EnumDecl, ObjCIvarDecl, 
TypedefDecl, VarDecl and FieldDecl.

For ObjC headers like Cocoa and WebKit, this brings our total size reduction to 
~6.5%.  For C++ headers like string and iostream, the reduction is in the 5.5 
to 6.5% range.

I removed support for EnumConstantDecl from the previous patch, as it was 
pushing the number of abbreviations into the next bit size, which had a net 
loss.

I also cleaned up the naming a bit to be more uniform.


Jonathan

Attachment: clang_pch_abbrev2.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to