projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[YAMLIO] Add support for numeric values in enums.
[oota-llvm.git]
/
include
/
llvm
/
Support
/
StreamingMemoryObject.h
diff --git
a/include/llvm/Support/StreamingMemoryObject.h
b/include/llvm/Support/StreamingMemoryObject.h
index da1b88738d0924757335c957beafb2bd14b3b157..66ed521a411c753fdeb0e23f02363de1dd6ca3c2 100644
(file)
--- a/
include/llvm/Support/StreamingMemoryObject.h
+++ b/
include/llvm/Support/StreamingMemoryObject.h
@@
-27,8
+27,8
@@
class StreamingMemoryObject : public MemoryObject {
public:
StreamingMemoryObject(DataStreamer *streamer);
uint64_t getExtent() const override;
public:
StreamingMemoryObject(DataStreamer *streamer);
uint64_t getExtent() const override;
-
int readBytes(uint64_t address, uint64_t s
ize,
-
uint8_t *buf
) const override;
+
uint64_t readBytes(uint8_t *Buf, uint64_t S
ize,
+
uint64_t Address
) const override;
const uint8_t *getPointer(uint64_t address, uint64_t size) const override {
// This could be fixed by ensuring the bytes are fetched and making a copy,
// requiring that the bitcode size be known, or otherwise ensuring that
const uint8_t *getPointer(uint64_t address, uint64_t size) const override {
// This could be fixed by ensuring the bytes are fetched and making a copy,
// requiring that the bitcode size be known, or otherwise ensuring that
@@
-38,7
+38,6
@@
public:
return nullptr;
}
bool isValidAddress(uint64_t address) const override;
return nullptr;
}
bool isValidAddress(uint64_t address) const override;
- bool isObjectEnd(uint64_t address) const override;
/// Drop s bytes from the front of the stream, pushing the positions of the
/// remaining bytes down by s. This is used to skip past the bitcode header,
/// Drop s bytes from the front of the stream, pushing the positions of the
/// remaining bytes down by s. This is used to skip past the bitcode header,
@@
-66,23
+65,20
@@
private:
// Most of the requests will be small, but we fetch at kChunkSize bytes
// at a time to avoid making too many potentially expensive GetBytes calls
bool fetchToPos(size_t Pos) const {
// Most of the requests will be small, but we fetch at kChunkSize bytes
// at a time to avoid making too many potentially expensive GetBytes calls
bool fetchToPos(size_t Pos) const {
- if (EOFReached) return Pos < ObjectSize;
+ if (EOFReached)
+ return Pos < ObjectSize;
while (Pos >= BytesRead) {
Bytes.resize(BytesRead + BytesSkipped + kChunkSize);
size_t bytes = Streamer->GetBytes(&Bytes[BytesRead + BytesSkipped],
kChunkSize);
BytesRead += bytes;
while (Pos >= BytesRead) {
Bytes.resize(BytesRead + BytesSkipped + kChunkSize);
size_t bytes = Streamer->GetBytes(&Bytes[BytesRead + BytesSkipped],
kChunkSize);
BytesRead += bytes;
- if (bytes < kChunkSize) {
- assert((!ObjectSize || BytesRead >= Pos) &&
- "Unexpected short read fetching bitcode");
- if (BytesRead <= Pos) { // reached EOF/ran out of bytes
- ObjectSize = BytesRead;
- EOFReached = true;
- return false;
- }
+ if (bytes != kChunkSize) { // reached EOF/ran out of bytes
+ ObjectSize = BytesRead;
+ EOFReached = true;
+ break;
}
}
}
}
- return
true
;
+ return
Pos < BytesRead
;
}
StreamingMemoryObject(const StreamingMemoryObject&) LLVM_DELETED_FUNCTION;
}
StreamingMemoryObject(const StreamingMemoryObject&) LLVM_DELETED_FUNCTION;