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

Unified Diff: lib/Bitcode/NaCl/Analysis/NaClCompress.cpp

Issue 1122423005: Add (unsupported experimental) feature allowing byte aligned bitcode. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Fix nits. Created 5 years, 7 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/NaCl/Analysis/NaClCompress.cpp
diff --git a/lib/Bitcode/NaCl/Analysis/NaClCompress.cpp b/lib/Bitcode/NaCl/Analysis/NaClCompress.cpp
index d4c327f6b189c8951c6ca8234b12165ca9b6a0f4..bb6e6c51eebbed0a042cfeff160862adaf966194 100644
--- a/lib/Bitcode/NaCl/Analysis/NaClCompress.cpp
+++ b/lib/Bitcode/NaCl/Analysis/NaClCompress.cpp
@@ -1158,14 +1158,15 @@ static bool analyzeBitcode(
const unsigned char *BufPtr = (const unsigned char *)MemBuf->getBufferStart();
const unsigned char *EndBufPtr = BufPtr+MemBuf->getBufferSize();
+ const unsigned char *HeaderPtr = BufPtr;
// First read header and verify it is good.
NaClBitcodeHeader Header;
- if (Header.Read(BufPtr, EndBufPtr) || !Header.IsSupported())
+ if (Header.Read(HeaderPtr, EndBufPtr) || !Header.IsSupported())
jvoung (off chromium) 2015/05/07 18:11:17 Should this check of Read vs IsSupported be split
Karl 2015/05/07 22:18:54 Good point. Changing.
return Error("Invalid PNaCl bitcode header");
// Create a bitstream reader to read the bitcode file.
- NaClBitstreamReader StreamFile(BufPtr, EndBufPtr);
+ NaClBitstreamReader StreamFile(BufPtr, EndBufPtr, Header);
NaClBitstreamCursor Stream(StreamFile);
// Parse the the bitcode file.
@@ -1381,15 +1382,16 @@ static bool chooseAbbrevs(MemoryBuffer *MemBuf, BlockAbbrevsMapType &AbbrevsMap,
BlockAbbrevsQueueMap &AbbrevsQueueMap) {
const unsigned char *BufPtr = (const unsigned char *)MemBuf->getBufferStart();
const unsigned char *EndBufPtr = BufPtr + MemBuf->getBufferSize();
+ const unsigned char *HeaderPtr = BufPtr;
// Read header. No verification is needed since AnalyzeBitcode has
// already checked it.
NaClBitcodeHeader Header;
- if (Header.Read(BufPtr, EndBufPtr))
+ if (Header.Read(HeaderPtr, EndBufPtr))
return Error("Invalid PNaCl bitcode header");
// Create the bitcode reader.
- NaClBitstreamReader StreamFile(BufPtr, EndBufPtr);
+ NaClBitstreamReader StreamFile(BufPtr, EndBufPtr, Header);
NaClBitstreamCursor Stream(StreamFile);
// Set up the parser.
@@ -1579,15 +1581,16 @@ static bool copyBitcode(const NaClBitcodeCompressor::CompressFlags &Flags,
const unsigned char *BufPtr = (const unsigned char *)MemBuf->getBufferStart();
const unsigned char *EndBufPtr = BufPtr + MemBuf->getBufferSize();
+ const unsigned char *HeaderPtr = BufPtr;
// Read header. No verification is needed since AnalyzeBitcode has
// already checked it.
NaClBitcodeHeader Header;
- if (Header.Read(BufPtr, EndBufPtr))
+ if (Header.Read(HeaderPtr, EndBufPtr))
return Error("Invalid PNaCl bitcode header");
// Create the bitcode reader.
- NaClBitstreamReader StreamFile(BufPtr, EndBufPtr);
+ NaClBitstreamReader StreamFile(BufPtr, EndBufPtr, Header);
NaClBitstreamCursor Stream(StreamFile);
// Create the bitcode writer.

Powered by Google App Engine
This is Rietveld 408576698