Skip to content

Commit 02e0ad0

Browse files
author
git apple-llvm automerger
committed
Merge commit '0820fbab99a1' from llvm.org/main into next
2 parents 51d3a43 + 0820fba commit 02e0ad0

File tree

6 files changed

+96
-104
lines changed

6 files changed

+96
-104
lines changed

compiler-rt/lib/orc/elfnix_platform.cpp

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ extern "C" void __deregister_frame(const void *);
3737
namespace {
3838

3939
Error validatePointerSectionExtent(const char *SectionName,
40-
const ExecutorAddressRange &SE) {
40+
const ExecutorAddrRange &SE) {
4141
if (SE.size().getValue() % sizeof(uintptr_t)) {
4242
std::ostringstream ErrMsg;
4343
ErrMsg << std::hex << "Size of " << SectionName << " 0x"
@@ -48,7 +48,7 @@ Error validatePointerSectionExtent(const char *SectionName,
4848
return Error::success();
4949
}
5050

51-
Error runInitArray(const std::vector<ExecutorAddressRange> &InitArraySections,
51+
Error runInitArray(const std::vector<ExecutorAddrRange> &InitArraySections,
5252
const ELFNixJITDylibInitializers &MOJDIs) {
5353

5454
for (const auto &ModInits : InitArraySections) {
@@ -120,8 +120,8 @@ class ELFNixPlatformRuntimeState {
120120

121121
Error registerThreadDataSection(span<const char> ThreadDataSection);
122122

123-
Expected<ExecutorAddress> lookupSymbolInJITDylib(void *DSOHandle,
124-
string_view Symbol);
123+
Expected<ExecutorAddr> lookupSymbolInJITDylib(void *DSOHandle,
124+
string_view Symbol);
125125

126126
Expected<ELFNixJITDylibInitializerSequence>
127127
getJITDylibInitializersByName(string_view Path);
@@ -131,7 +131,7 @@ class ELFNixPlatformRuntimeState {
131131
static ELFNixPlatformRuntimeState *MOPS;
132132

133133
using InitSectionHandler =
134-
Error (*)(const std::vector<ExecutorAddressRange> &Sections,
134+
Error (*)(const std::vector<ExecutorAddrRange> &Sections,
135135
const ELFNixJITDylibInitializers &MOJDIs);
136136
const std::vector<std::pair<const char *, InitSectionHandler>> InitSections =
137137
{{".init_array", runInitArray}};
@@ -318,14 +318,15 @@ Error ELFNixPlatformRuntimeState::registerThreadDataSection(
318318
return Error::success();
319319
}
320320

321-
Expected<ExecutorAddress>
321+
Expected<ExecutorAddr>
322322
ELFNixPlatformRuntimeState::lookupSymbolInJITDylib(void *DSOHandle,
323323
string_view Sym) {
324-
Expected<ExecutorAddress> Result((ExecutorAddress()));
325-
if (auto Err = WrapperFunction<SPSExpected<SPSExecutorAddress>(
326-
SPSExecutorAddress,
327-
SPSString)>::call(&__orc_rt_elfnix_symbol_lookup_tag, Result,
328-
ExecutorAddress::fromPtr(DSOHandle), Sym))
324+
Expected<ExecutorAddr> Result((ExecutorAddr()));
325+
if (auto Err = WrapperFunction<SPSExpected<SPSExecutorAddr>(
326+
SPSExecutorAddr, SPSString)>::call(&__orc_rt_elfnix_symbol_lookup_tag,
327+
Result,
328+
ExecutorAddr::fromPtr(DSOHandle),
329+
Sym))
329330
return std::move(Err);
330331
return Result;
331332
}

compiler-rt/lib/orc/elfnix_platform.h

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,19 @@ namespace __orc_rt {
3232
namespace elfnix {
3333

3434
struct ELFNixPerObjectSectionsToRegister {
35-
ExecutorAddressRange EHFrameSection;
36-
ExecutorAddressRange ThreadDataSection;
35+
ExecutorAddrRange EHFrameSection;
36+
ExecutorAddrRange ThreadDataSection;
3737
};
3838

3939
struct ELFNixJITDylibInitializers {
40-
using SectionList = std::vector<ExecutorAddressRange>;
40+
using SectionList = std::vector<ExecutorAddrRange>;
4141

4242
ELFNixJITDylibInitializers() = default;
43-
ELFNixJITDylibInitializers(std::string Name, ExecutorAddress DSOHandleAddress)
43+
ELFNixJITDylibInitializers(std::string Name, ExecutorAddr DSOHandleAddress)
4444
: Name(std::move(Name)), DSOHandleAddress(std::move(DSOHandleAddress)) {}
4545

4646
std::string Name;
47-
ExecutorAddress DSOHandleAddress;
47+
ExecutorAddr DSOHandleAddress;
4848

4949
std::unordered_map<std::string, SectionList> InitSections;
5050
};
@@ -67,7 +67,7 @@ enum dlopen_mode : int {
6767
} // end namespace elfnix
6868

6969
using SPSELFNixPerObjectSectionsToRegister =
70-
SPSTuple<SPSExecutorAddressRange, SPSExecutorAddressRange>;
70+
SPSTuple<SPSExecutorAddrRange, SPSExecutorAddrRange>;
7171

7272
template <>
7373
class SPSSerializationTraits<SPSELFNixPerObjectSectionsToRegister,
@@ -93,12 +93,11 @@ class SPSSerializationTraits<SPSELFNixPerObjectSectionsToRegister,
9393
}
9494
};
9595

96-
using SPSNamedExecutorAddressRangeSequenceMap =
97-
SPSSequence<SPSTuple<SPSString, SPSExecutorAddressRangeSequence>>;
96+
using SPSNamedExecutorAddrRangeSequenceMap =
97+
SPSSequence<SPSTuple<SPSString, SPSExecutorAddrRangeSequence>>;
9898

9999
using SPSELFNixJITDylibInitializers =
100-
SPSTuple<SPSString, SPSExecutorAddress,
101-
SPSNamedExecutorAddressRangeSequenceMap>;
100+
SPSTuple<SPSString, SPSExecutorAddr, SPSNamedExecutorAddrRangeSequenceMap>;
102101

103102
using SPSELFNixJITDylibInitializerSequence =
104103
SPSSequence<SPSELFNixJITDylibInitializers>;

compiler-rt/lib/orc/executor_address.h

Lines changed: 47 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,19 @@ class ExecutorAddrDiff {
3737
};
3838

3939
/// Represents an address in the executor process.
40-
class ExecutorAddress {
40+
class ExecutorAddr {
4141
public:
42-
ExecutorAddress() = default;
43-
explicit ExecutorAddress(uint64_t Addr) : Addr(Addr) {}
42+
ExecutorAddr() = default;
43+
explicit ExecutorAddr(uint64_t Addr) : Addr(Addr) {}
4444

45-
/// Create an ExecutorAddress from the given pointer.
45+
/// Create an ExecutorAddr from the given pointer.
4646
/// Warning: This should only be used when JITing in-process.
47-
template <typename T> static ExecutorAddress fromPtr(T *Value) {
48-
return ExecutorAddress(
47+
template <typename T> static ExecutorAddr fromPtr(T *Value) {
48+
return ExecutorAddr(
4949
static_cast<uint64_t>(reinterpret_cast<uintptr_t>(Value)));
5050
}
5151

52-
/// Cast this ExecutorAddress to a pointer of the given type.
52+
/// Cast this ExecutorAddr to a pointer of the given type.
5353
/// Warning: This should only be esude when JITing in-process.
5454
template <typename T> T toPtr() const {
5555
static_assert(std::is_pointer<T>::value, "T must be a pointer type");
@@ -65,53 +65,47 @@ class ExecutorAddress {
6565

6666
explicit operator bool() const { return Addr != 0; }
6767

68-
friend bool operator==(const ExecutorAddress &LHS,
69-
const ExecutorAddress &RHS) {
68+
friend bool operator==(const ExecutorAddr &LHS, const ExecutorAddr &RHS) {
7069
return LHS.Addr == RHS.Addr;
7170
}
7271

73-
friend bool operator!=(const ExecutorAddress &LHS,
74-
const ExecutorAddress &RHS) {
72+
friend bool operator!=(const ExecutorAddr &LHS, const ExecutorAddr &RHS) {
7573
return LHS.Addr != RHS.Addr;
7674
}
7775

78-
friend bool operator<(const ExecutorAddress &LHS,
79-
const ExecutorAddress &RHS) {
76+
friend bool operator<(const ExecutorAddr &LHS, const ExecutorAddr &RHS) {
8077
return LHS.Addr < RHS.Addr;
8178
}
8279

83-
friend bool operator<=(const ExecutorAddress &LHS,
84-
const ExecutorAddress &RHS) {
80+
friend bool operator<=(const ExecutorAddr &LHS, const ExecutorAddr &RHS) {
8581
return LHS.Addr <= RHS.Addr;
8682
}
8783

88-
friend bool operator>(const ExecutorAddress &LHS,
89-
const ExecutorAddress &RHS) {
84+
friend bool operator>(const ExecutorAddr &LHS, const ExecutorAddr &RHS) {
9085
return LHS.Addr > RHS.Addr;
9186
}
9287

93-
friend bool operator>=(const ExecutorAddress &LHS,
94-
const ExecutorAddress &RHS) {
88+
friend bool operator>=(const ExecutorAddr &LHS, const ExecutorAddr &RHS) {
9589
return LHS.Addr >= RHS.Addr;
9690
}
9791

98-
ExecutorAddress &operator++() {
92+
ExecutorAddr &operator++() {
9993
++Addr;
10094
return *this;
10195
}
102-
ExecutorAddress &operator--() {
96+
ExecutorAddr &operator--() {
10397
--Addr;
10498
return *this;
10599
}
106-
ExecutorAddress operator++(int) { return ExecutorAddress(Addr++); }
107-
ExecutorAddress operator--(int) { return ExecutorAddress(Addr++); }
100+
ExecutorAddr operator++(int) { return ExecutorAddr(Addr++); }
101+
ExecutorAddr operator--(int) { return ExecutorAddr(Addr++); }
108102

109-
ExecutorAddress &operator+=(const ExecutorAddrDiff Delta) {
103+
ExecutorAddr &operator+=(const ExecutorAddrDiff Delta) {
110104
Addr += Delta.getValue();
111105
return *this;
112106
}
113107

114-
ExecutorAddress &operator-=(const ExecutorAddrDiff Delta) {
108+
ExecutorAddr &operator-=(const ExecutorAddrDiff Delta) {
115109
Addr -= Delta.getValue();
116110
return *this;
117111
}
@@ -121,27 +115,27 @@ class ExecutorAddress {
121115
};
122116

123117
/// Subtracting two addresses yields an offset.
124-
inline ExecutorAddrDiff operator-(const ExecutorAddress &LHS,
125-
const ExecutorAddress &RHS) {
118+
inline ExecutorAddrDiff operator-(const ExecutorAddr &LHS,
119+
const ExecutorAddr &RHS) {
126120
return ExecutorAddrDiff(LHS.getValue() - RHS.getValue());
127121
}
128122

129123
/// Adding an offset and an address yields an address.
130-
inline ExecutorAddress operator+(const ExecutorAddress &LHS,
131-
const ExecutorAddrDiff &RHS) {
132-
return ExecutorAddress(LHS.getValue() + RHS.getValue());
124+
inline ExecutorAddr operator+(const ExecutorAddr &LHS,
125+
const ExecutorAddrDiff &RHS) {
126+
return ExecutorAddr(LHS.getValue() + RHS.getValue());
133127
}
134128

135129
/// Adding an address and an offset yields an address.
136-
inline ExecutorAddress operator+(const ExecutorAddrDiff &LHS,
137-
const ExecutorAddress &RHS) {
138-
return ExecutorAddress(LHS.getValue() + RHS.getValue());
130+
inline ExecutorAddr operator+(const ExecutorAddrDiff &LHS,
131+
const ExecutorAddr &RHS) {
132+
return ExecutorAddr(LHS.getValue() + RHS.getValue());
139133
}
140134

141135
/// Represents an address range in the exceutor process.
142-
struct ExecutorAddressRange {
143-
ExecutorAddressRange() = default;
144-
ExecutorAddressRange(ExecutorAddress StartAddress, ExecutorAddress EndAddress)
136+
struct ExecutorAddrRange {
137+
ExecutorAddrRange() = default;
138+
ExecutorAddrRange(ExecutorAddr StartAddress, ExecutorAddr EndAddress)
145139
: StartAddress(StartAddress), EndAddress(EndAddress) {}
146140

147141
bool empty() const { return StartAddress == EndAddress; }
@@ -153,55 +147,53 @@ struct ExecutorAddressRange {
153147
return span<T>(StartAddress.toPtr<T *>(), size().getValue() / sizeof(T));
154148
}
155149

156-
ExecutorAddress StartAddress;
157-
ExecutorAddress EndAddress;
150+
ExecutorAddr StartAddress;
151+
ExecutorAddr EndAddress;
158152
};
159153

160-
/// SPS serializatior for ExecutorAddress.
161-
template <> class SPSSerializationTraits<SPSExecutorAddress, ExecutorAddress> {
154+
/// SPS serializatior for ExecutorAddr.
155+
template <> class SPSSerializationTraits<SPSExecutorAddr, ExecutorAddr> {
162156
public:
163-
static size_t size(const ExecutorAddress &EA) {
157+
static size_t size(const ExecutorAddr &EA) {
164158
return SPSArgList<uint64_t>::size(EA.getValue());
165159
}
166160

167-
static bool serialize(SPSOutputBuffer &BOB, const ExecutorAddress &EA) {
161+
static bool serialize(SPSOutputBuffer &BOB, const ExecutorAddr &EA) {
168162
return SPSArgList<uint64_t>::serialize(BOB, EA.getValue());
169163
}
170164

171-
static bool deserialize(SPSInputBuffer &BIB, ExecutorAddress &EA) {
165+
static bool deserialize(SPSInputBuffer &BIB, ExecutorAddr &EA) {
172166
uint64_t Tmp;
173167
if (!SPSArgList<uint64_t>::deserialize(BIB, Tmp))
174168
return false;
175-
EA = ExecutorAddress(Tmp);
169+
EA = ExecutorAddr(Tmp);
176170
return true;
177171
}
178172
};
179173

180-
using SPSExecutorAddressRange =
181-
SPSTuple<SPSExecutorAddress, SPSExecutorAddress>;
174+
using SPSExecutorAddrRange = SPSTuple<SPSExecutorAddr, SPSExecutorAddr>;
182175

183176
/// Serialization traits for address ranges.
184177
template <>
185-
class SPSSerializationTraits<SPSExecutorAddressRange, ExecutorAddressRange> {
178+
class SPSSerializationTraits<SPSExecutorAddrRange, ExecutorAddrRange> {
186179
public:
187-
static size_t size(const ExecutorAddressRange &Value) {
188-
return SPSArgList<SPSExecutorAddress, SPSExecutorAddress>::size(
180+
static size_t size(const ExecutorAddrRange &Value) {
181+
return SPSArgList<SPSExecutorAddr, SPSExecutorAddr>::size(
189182
Value.StartAddress, Value.EndAddress);
190183
}
191184

192-
static bool serialize(SPSOutputBuffer &BOB,
193-
const ExecutorAddressRange &Value) {
194-
return SPSArgList<SPSExecutorAddress, SPSExecutorAddress>::serialize(
185+
static bool serialize(SPSOutputBuffer &BOB, const ExecutorAddrRange &Value) {
186+
return SPSArgList<SPSExecutorAddr, SPSExecutorAddr>::serialize(
195187
BOB, Value.StartAddress, Value.EndAddress);
196188
}
197189

198-
static bool deserialize(SPSInputBuffer &BIB, ExecutorAddressRange &Value) {
199-
return SPSArgList<SPSExecutorAddress, SPSExecutorAddress>::deserialize(
190+
static bool deserialize(SPSInputBuffer &BIB, ExecutorAddrRange &Value) {
191+
return SPSArgList<SPSExecutorAddr, SPSExecutorAddr>::deserialize(
200192
BIB, Value.StartAddress, Value.EndAddress);
201193
}
202194
};
203195

204-
using SPSExecutorAddressRangeSequence = SPSSequence<SPSExecutorAddressRange>;
196+
using SPSExecutorAddrRangeSequence = SPSSequence<SPSExecutorAddrRange>;
205197

206198
} // End namespace __orc_rt
207199

0 commit comments

Comments
 (0)