mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 02:52:53 +02:00
Make readBytes pure virtual. Every real implementation has it.
llvm-svn: 221758
This commit is contained in:
parent
06dc952912
commit
78355a98d5
@ -51,7 +51,8 @@ public:
|
||||
/// and large enough to hold size bytes.
|
||||
/// @result - 0 if successful; -1 if not. Failure may be due to a
|
||||
/// bounds violation or an implementation-specific error.
|
||||
virtual int readBytes(uint64_t address, uint64_t size, uint8_t *buf) const;
|
||||
virtual int readBytes(uint64_t address, uint64_t size,
|
||||
uint8_t *buf) const = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -12,22 +12,3 @@ using namespace llvm;
|
||||
|
||||
MemoryObject::~MemoryObject() {
|
||||
}
|
||||
|
||||
int MemoryObject::readBytes(uint64_t address,
|
||||
uint64_t size,
|
||||
uint8_t* buf) const {
|
||||
uint64_t current = address;
|
||||
uint64_t limit = getExtent();
|
||||
|
||||
if (current + size > limit)
|
||||
return -1;
|
||||
|
||||
while (current - address < size) {
|
||||
if (readByte(current, &buf[(current - address)]))
|
||||
return -1;
|
||||
|
||||
current++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user