mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-27 16:17:17 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182636 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user