mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Change the RemoteMirror API to have extensible data layout callback (#15291)
* Change the RemoteMirror API to have extensible data layout callback * Use DLQ_Get prefix on DataLayoutQueryType enum values * Simplify MemoryReaderImpl and synthesize minimalDataLayoutQueryFunction
This commit is contained in:
committed by
GitHub
parent
60a6c02328
commit
84e71b8d7a
@@ -161,12 +161,24 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
uint8_t getPointerSize() override {
|
||||
return sizeof(uintptr_t);
|
||||
}
|
||||
uint8_t getSizeSize() override {
|
||||
return sizeof(size_t);
|
||||
bool queryDataLayout(DataLayoutQueryType type, void *inBuffer,
|
||||
void *outBuffer) override {
|
||||
switch (type) {
|
||||
case DLQ_GetPointerSize: {
|
||||
auto result = static_cast<uint8_t *>(outBuffer);
|
||||
*result = sizeof(void *);
|
||||
return true;
|
||||
}
|
||||
case DLQ_GetSizeSize: {
|
||||
auto result = static_cast<uint8_t *>(outBuffer);
|
||||
*result = sizeof(size_t);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
RemoteAddress getSymbolAddress(const std::string &name) override {
|
||||
for (auto &object : ObjectFiles) {
|
||||
for (auto &symbol : object->symbols()) {
|
||||
|
||||
Reference in New Issue
Block a user