Skip to content

Commit 5b2e95d

Browse files
committed
Reflection: remove unnecessary offset for COFF
Don't bother passing the slide for the COFF image as it is always 0.
1 parent 0f1994d commit 5b2e95d

File tree

1 file changed

+22
-24
lines changed

1 file changed

+22
-24
lines changed

include/swift/Reflection/ReflectionContext.h

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ class ReflectionContext
310310
sizeof(llvm::object::coff_section) * COFFFileHdr->NumberOfSections);
311311

312312
auto findCOFFSectionByName = [&](llvm::StringRef Name)
313-
-> std::pair<std::pair<const char *, const char *>, uint32_t> {
313+
-> std::pair<const char *, const char *> {
314314
for (size_t i = 0; i < COFFFileHdr->NumberOfSections; ++i) {
315315
const llvm::object::coff_section *COFFSec =
316316
reinterpret_cast<const llvm::object::coff_section *>(
@@ -336,45 +336,43 @@ class ReflectionContext
336336
End -= 8;
337337
}
338338

339-
return {{Begin, End}, 0};
339+
return {Begin, End};
340340
}
341-
return {{nullptr, nullptr}, 0};
341+
return {nullptr, nullptr};
342342
};
343343

344-
std::pair<std::pair<const char *, const char *>, uint32_t> CaptureSec =
344+
std::pair<const char *, const char *> CaptureSec =
345345
findCOFFSectionByName(".sw5cptr");
346-
std::pair<std::pair<const char *, const char *>, uint32_t> TypeRefMdSec =
346+
std::pair<const char *, const char *> TypeRefMdSec =
347347
findCOFFSectionByName(".sw5tyrf");
348-
std::pair<std::pair<const char *, const char *>, uint32_t> FieldMdSec =
348+
std::pair<const char *, const char *> FieldMdSec =
349349
findCOFFSectionByName(".sw5flmd");
350-
std::pair<std::pair<const char *, const char *>, uint32_t> AssocTySec =
350+
std::pair<const char *, const char *> AssocTySec =
351351
findCOFFSectionByName(".sw5asty");
352-
std::pair<std::pair<const char *, const char *>, uint32_t> BuiltinTySec =
352+
std::pair<const char *, const char *> BuiltinTySec =
353353
findCOFFSectionByName(".sw5bltn");
354-
std::pair<std::pair<const char *, const char *>, uint32_t> ReflStrMdSec =
354+
std::pair<const char *, const char *> ReflStrMdSec =
355355
findCOFFSectionByName(".sw5rfst");
356356

357-
if (FieldMdSec.first.first == nullptr &&
358-
AssocTySec.first.first == nullptr &&
359-
BuiltinTySec.first.first == nullptr &&
360-
CaptureSec.first.first == nullptr &&
361-
TypeRefMdSec.first.first == nullptr &&
362-
ReflStrMdSec.first.first == nullptr)
357+
if (FieldMdSec.first == nullptr &&
358+
AssocTySec.first == nullptr &&
359+
BuiltinTySec.first == nullptr &&
360+
CaptureSec.first == nullptr &&
361+
TypeRefMdSec.first == nullptr &&
362+
ReflStrMdSec.first == nullptr)
363363
return false;
364+
364365
auto LocalStartAddress = reinterpret_cast<uintptr_t>(DOSHdrBuf.get());
365366
auto RemoteStartAddress =
366367
static_cast<uintptr_t>(ImageStart.getAddressData());
367368

368369
ReflectionInfo Info = {
369-
{{FieldMdSec.first.first, FieldMdSec.first.second}, FieldMdSec.second},
370-
{{AssocTySec.first.first, AssocTySec.first.second}, AssocTySec.second},
371-
{{BuiltinTySec.first.first, BuiltinTySec.first.second},
372-
BuiltinTySec.second},
373-
{{CaptureSec.first.first, CaptureSec.first.second}, CaptureSec.second},
374-
{{TypeRefMdSec.first.first, TypeRefMdSec.first.second},
375-
TypeRefMdSec.second},
376-
{{ReflStrMdSec.first.first, ReflStrMdSec.first.second},
377-
ReflStrMdSec.second},
370+
{{FieldMdSec.first, FieldMdSec.second}, 0},
371+
{{AssocTySec.first, AssocTySec.second}, 0},
372+
{{BuiltinTySec.first, BuiltinTySec.second}, 0},
373+
{{CaptureSec.first, CaptureSec.second}, 0},
374+
{{TypeRefMdSec.first, TypeRefMdSec.second}, 0},
375+
{{ReflStrMdSec.first, ReflStrMdSec.second}, 0},
378376
LocalStartAddress,
379377
RemoteStartAddress};
380378
this->addReflectionInfo(Info);

0 commit comments

Comments
 (0)