summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-05-24 10:54:58 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-05-24 10:54:58 +0000
commit534d3a467085d9be5b4cbe7d59f3ee5bec61fc7c (patch)
tree6f726e83a5c98d74381fe3aad9041ed92e9edb3b /llvm/lib/Support
parent01a8079bf2aea993f3dc6d751626bfd7ddb1f11e (diff)
downloadbcm5719-llvm-534d3a467085d9be5b4cbe7d59f3ee5bec61fc7c.tar.gz
bcm5719-llvm-534d3a467085d9be5b4cbe7d59f3ee5bec61fc7c.zip
Remove the Copied parameter from MemoryObject::readBytes.
There was exactly one caller using this API right, the others were relying on specific behavior of the default implementation. Since it's too hard to use it right just remove it and standardize on the default behavior. Defines away PR16132. llvm-svn: 182636
Diffstat (limited to 'llvm/lib/Support')
-rw-r--r--llvm/lib/Support/MemoryObject.cpp6
-rw-r--r--llvm/lib/Support/StreamableMemoryObject.cpp11
-rw-r--r--llvm/lib/Support/StringRefMemoryObject.cpp11
3 files changed, 7 insertions, 21 deletions
diff --git a/llvm/lib/Support/MemoryObject.cpp b/llvm/lib/Support/MemoryObject.cpp
index b20ab892381..02b5b5034fb 100644
--- a/llvm/lib/Support/MemoryObject.cpp
+++ b/llvm/lib/Support/MemoryObject.cpp
@@ -15,8 +15,7 @@ MemoryObject::~MemoryObject() {
int MemoryObject::readBytes(uint64_t address,
uint64_t size,
- uint8_t* buf,
- uint64_t* copied) const {
+ uint8_t* buf) const {
uint64_t current = address;
uint64_t limit = getBase() + getExtent();
@@ -30,8 +29,5 @@ int MemoryObject::readBytes(uint64_t address,
current++;
}
- if (copied)
- *copied = current - address;
-
return 0;
}
diff --git a/llvm/lib/Support/StreamableMemoryObject.cpp b/llvm/lib/Support/StreamableMemoryObject.cpp
index 59e27a263e0..2ed7c5c100a 100644
--- a/llvm/lib/Support/StreamableMemoryObject.cpp
+++ b/llvm/lib/Support/StreamableMemoryObject.cpp
@@ -31,8 +31,7 @@ public:
virtual int readByte(uint64_t address, uint8_t* ptr) const LLVM_OVERRIDE;
virtual int readBytes(uint64_t address,
uint64_t size,
- uint8_t* buf,
- uint64_t* copied) const LLVM_OVERRIDE;
+ uint8_t *buf) const LLVM_OVERRIDE;
virtual const uint8_t *getPointer(uint64_t address,
uint64_t size) const LLVM_OVERRIDE;
virtual bool isValidAddress(uint64_t address) const LLVM_OVERRIDE {
@@ -67,11 +66,9 @@ int RawMemoryObject::readByte(uint64_t address, uint8_t* ptr) const {
int RawMemoryObject::readBytes(uint64_t address,
uint64_t size,
- uint8_t* buf,
- uint64_t* copied) const {
+ uint8_t *buf) const {
if (!validAddress(address) || !validAddress(address + size - 1)) return -1;
memcpy(buf, (uint8_t *)(uintptr_t)(address + FirstChar), size);
- if (copied) *copied = size;
return size;
}
@@ -111,11 +108,9 @@ int StreamingMemoryObject::readByte(uint64_t address, uint8_t* ptr) const {
int StreamingMemoryObject::readBytes(uint64_t address,
uint64_t size,
- uint8_t* buf,
- uint64_t* copied) const {
+ uint8_t *buf) const {
if (!fetchToPos(address + size - 1)) return -1;
memcpy(buf, &Bytes[address + BytesSkipped], size);
- if (copied) *copied = size;
return 0;
}
diff --git a/llvm/lib/Support/StringRefMemoryObject.cpp b/llvm/lib/Support/StringRefMemoryObject.cpp
index 5db11e918cd..e035ed1d2ef 100644
--- a/llvm/lib/Support/StringRefMemoryObject.cpp
+++ b/llvm/lib/Support/StringRefMemoryObject.cpp
@@ -20,15 +20,10 @@ int StringRefMemoryObject::readByte(uint64_t Addr, uint8_t *Byte) const {
int StringRefMemoryObject::readBytes(uint64_t Addr,
uint64_t Size,
- uint8_t *Buf,
- uint64_t *Copied) const {
- if (Addr >= Base + getExtent() || Addr < Base)
- return -1;
+ uint8_t *Buf) const {
uint64_t Offset = Addr - Base;
- if (Size > getExtent() - Offset)
- Size = getExtent() - Offset;
+ if (Addr >= Base + getExtent() || Offset + Size > getExtent() || Addr < Base)
+ return -1;
memcpy(Buf, Bytes.data() + Offset, Size);
- if (Copied)
- *Copied = Size;
return 0;
}
OpenPOWER on IntegriCloud