Changed implementation of Serialize::EmitDiffPtrID and

Deserialize::ReadDiffPtrID to read and emit bools instead of unsigned
integers. This should result in a nice space optimization once we have
"auto-abbreviation" generation in place.

llvm-svn: 44200
This commit is contained in:
Ted Kremenek 2007-11-17 00:45:37 +00:00
parent 4d1e79c8ac
commit 9d89f980aa
2 changed files with 5 additions and 4 deletions

View File

@ -141,8 +141,8 @@ public:
SerializedPtrID ReadPtrID() { return (SerializedPtrID) ReadInt(); }
SerializedPtrID ReadDiffPtrID(SerializedPtrID& PrevID) {
unsigned x = ReadInt();
return (SerializedPtrID) (x ? (PrevID+x) : 0);
bool x = ReadBool();
return (SerializedPtrID) (x ? (PrevID+1) : 0);
}

View File

@ -57,10 +57,11 @@ public:
SerializedPtrID ptr_id = getPtrId(ptr);
if (ptr_id == 0)
EmitInt(0);
EmitBool(false);
else {
assert (ptr_id > PrevID);
EmitInt(ptr_id-PrevID);
assert (PrevID == 0 || ptr_id - PrevID == 1);
EmitBool(true);
}
return ptr_id;