diff options
author | Ted Kremenek <kremenek@apple.com> | 2007-11-12 19:11:15 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2007-11-12 19:11:15 +0000 |
commit | 62724da93086e52f8b48fa4c4b06309db330b5c8 (patch) | |
tree | 9a5bbdee71c10f85be217d6ac165e193880a3712 /lib/Bitcode | |
parent | 35e2dba67215045b1be2b890699788adfa939d05 (diff) | |
download | external_llvm-62724da93086e52f8b48fa4c4b06309db330b5c8.zip external_llvm-62724da93086e52f8b48fa4c4b06309db330b5c8.tar.gz external_llvm-62724da93086e52f8b48fa4c4b06309db330b5c8.tar.bz2 |
Added versions of ReadPtr that takes an explicit SerializedPtrID. This allows
clients of the Deserializer to read the pointer ID before they are ready
to deserialize the object (which can mean registering a pointer reference
with the backpatcher).
Changed some methods that took an argument "SerializedPtrID" to "const SerializedPtrID&" (pass-by-reference). This is to accommodate a future
revision of SerializedPtrID where it may be much fatter than an unsigned
integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44021 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bitcode')
-rw-r--r-- | lib/Bitcode/Reader/Deserialize.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Bitcode/Reader/Deserialize.cpp b/lib/Bitcode/Reader/Deserialize.cpp index 2e8b4ef..ea6b27a 100644 --- a/lib/Bitcode/Reader/Deserialize.cpp +++ b/lib/Bitcode/Reader/Deserialize.cpp @@ -324,7 +324,9 @@ void Deserializer::ReadCStr(std::vector<char>& buff, bool isNullTerm) { buff.push_back('\0'); } -void Deserializer::RegisterPtr(SerializedPtrID PtrId, const void* Ptr) { +void Deserializer::RegisterPtr(const SerializedPtrID& PtrId, + const void* Ptr) { + MapTy::value_type& E = BPatchMap.FindAndConstruct(BPKey(PtrId)); assert (!HasFinalPtr(E) && "Pointer already registered."); @@ -336,9 +338,9 @@ void Deserializer::RegisterPtr(SerializedPtrID PtrId, const void* Ptr) { SetPtr(E,Ptr); } -void Deserializer::ReadUIntPtr(uintptr_t& PtrRef, bool AllowBackpatch) { - SerializedPtrID PtrId = ReadPtrID(); - +void Deserializer::ReadUIntPtr(uintptr_t& PtrRef, + const SerializedPtrID& PtrId, + bool AllowBackpatch) { if (PtrId == 0) { PtrRef = 0; return; |