namespace llvm {
namespace orc {
-/// Represents the difference between two addresses in the executor process.
-class ExecutorAddrDiff {
-public:
- ExecutorAddrDiff() = default;
- explicit ExecutorAddrDiff(uint64_t Value) : Value(Value) {}
-
- uint64_t getValue() const { return Value; }
-
-private:
- int64_t Value = 0;
-};
+using ExecutorAddrDiff = uint64_t;
/// Represents an address in the executor process.
class ExecutorAddr {
ExecutorAddr operator--(int) { return ExecutorAddr(Addr--); }
ExecutorAddr &operator+=(const ExecutorAddrDiff Delta) {
- Addr += Delta.getValue();
+ Addr += Delta;
return *this;
}
ExecutorAddr &operator-=(const ExecutorAddrDiff Delta) {
- Addr -= Delta.getValue();
+ Addr -= Delta;
return *this;
}
/// Adding an offset and an address yields an address.
inline ExecutorAddr operator+(const ExecutorAddr &LHS,
const ExecutorAddrDiff &RHS) {
- return ExecutorAddr(LHS.getValue() + RHS.getValue());
+ return ExecutorAddr(LHS.getValue() + RHS);
}
/// Adding an address and an offset yields an address.
inline ExecutorAddr operator+(const ExecutorAddrDiff &LHS,
const ExecutorAddr &RHS) {
- return ExecutorAddr(LHS.getValue() + RHS.getValue());
+ return ExecutorAddr(LHS + RHS.getValue());
}
/// Represents an address range in the exceutor process.
shared::CWrapperFunctionResult(const char *ArgData, size_t ArgSize);
return shared::WrapperFunctionResult(
Func.toPtr<FnTy *>()(ArgData.Start.toPtr<const char *>(),
- static_cast<size_t>(ArgData.size().getValue())));
+ static_cast<size_t>(ArgData.size())));
}
/// Run call and deserialize result using SPS.
return WrapperFunction<void(SPSExecutorAddrRange)>::handle(
Data, Size,
[](ExecutorAddrRange R) {
- registerJITLoaderGDBImpl(R.Start.toPtr<char *>(),
- R.size().getValue());
+ registerJITLoaderGDBImpl(R.Start.toPtr<char *>(), R.size());
})
.release();
}