diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-04-28 21:32:13 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-04-28 21:32:13 +0000 |
commit | 5998da5c29dae3f654cb65738ff237203e2222c8 (patch) | |
tree | fc6797117a951985d288e62d836aa8ca2b858363 /lib/Frontend/PCHReader.cpp | |
parent | a92193ebd9840e5ce4de1b09e49f1b024c0f5c2f (diff) |
Optimize IdentifierInfo storage within the precompiled header. We've
now gotten back about 180k of the 500k we lost.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70326 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHReader.cpp')
-rw-r--r-- | lib/Frontend/PCHReader.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp index 64929dcb1d..4e3f50db2e 100644 --- a/lib/Frontend/PCHReader.cpp +++ b/lib/Frontend/PCHReader.cpp @@ -237,7 +237,7 @@ public: return II; } - uint32_t Bits = ReadUnalignedLE32(d); + unsigned Bits = ReadUnalignedLE16(d); bool CPlusPlusOperatorKeyword = Bits & 0x01; Bits >>= 1; bool Poisoned = Bits & 0x01; @@ -248,11 +248,9 @@ public: Bits >>= 1; unsigned ObjCOrBuiltinID = Bits & 0x3FF; Bits >>= 10; - unsigned TokenID = Bits & 0xFF; - Bits >>= 8; assert(Bits == 0 && "Extra bits in the identifier?"); - DataLen -= 8; + DataLen -= 6; // Build the IdentifierInfo itself and link the identifier ID with // the new IdentifierInfo. @@ -264,9 +262,6 @@ public: // Set or check the various bits in the IdentifierInfo structure. // FIXME: Load token IDs lazily, too? - assert((unsigned)II->getTokenID() == TokenID && - "Incorrect token ID loaded"); - (void)TokenID; II->setObjCOrBuiltinID(ObjCOrBuiltinID); assert(II->isExtensionToken() == ExtensionToken && "Incorrect extension token flag"); @@ -279,9 +274,9 @@ public: // If this identifier is a macro, deserialize the macro // definition. if (hasMacroDefinition) { - uint32_t Offset = ReadUnalignedLE64(d); + uint32_t Offset = ReadUnalignedLE32(d); Reader.ReadMacroRecord(Offset); - DataLen -= 8; + DataLen -= 4; } // Read all of the declarations visible at global scope with this |