Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(905)

Unified Diff: lib/Bitcode/Reader/BitcodeReader.h

Issue 8393017: Bitcode streaming (Closed)
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: lib/Bitcode/Reader/BitcodeReader.h
diff --git a/lib/Bitcode/Reader/BitcodeReader.h b/lib/Bitcode/Reader/BitcodeReader.h
index 6e6118cac0dc5a1a34045a1d3eabcaf62fdb3bed..0e3deec0bb0dbce581fdd13e2881b799cbdeeaca 100644
--- a/lib/Bitcode/Reader/BitcodeReader.h
+++ b/lib/Bitcode/Reader/BitcodeReader.h
@@ -126,7 +126,7 @@ class BitcodeReader : public GVMaterializer {
Module *TheModule;
MemoryBuffer *Buffer;
bool BufferOwned;
- BitstreamReader StreamFile;
+ OwningPtr<BitstreamReader> StreamFile;
BitstreamCursor Stream;
const char *ErrorString;
@@ -174,10 +174,17 @@ class BitcodeReader : public GVMaterializer {
typedef std::pair<unsigned, GlobalVariable*> BlockAddrRefTy;
DenseMap<Function*, std::vector<BlockAddrRefTy> > BlockAddrFwdRefs;
+ StreamChunkCallback StreamCallback;
+
public:
explicit BitcodeReader(MemoryBuffer *buffer, LLVMContext &C)
: Context(C), TheModule(0), Buffer(buffer), BufferOwned(false),
- ErrorString(0), ValueList(C), MDValueList(C) {
+ ErrorString(0), ValueList(C), MDValueList(C), StreamCallback(0) {
+ HasReversedFunctionsWithBodies = false;
+ }
+ BitcodeReader(StreamChunkCallback cb, LLVMContext &C)
+ : Context(C), TheModule(0), Buffer(0), BufferOwned(false),
+ ErrorString(0), ValueList(C), MDValueList(C), StreamCallback(cb) {
HasReversedFunctionsWithBodies = false;
}
~BitcodeReader() {
@@ -271,6 +278,9 @@ private:
bool ParseMetadata();
bool ParseMetadataAttachment();
bool ParseModuleTriple(std::string &Triple);
+ bool InitStream();
+ bool InitStreamFromBuffer();
+ bool InitLazyStream();
};
} // End llvm namespace

Powered by Google App Engine
This is Rietveld 408576698