@@ -304,10 +304,9 @@ Error RTDynamicLibrarySearchGenerator::tryToGenerate(
304
304
305
305
std::string Tmp ((*Name).data () + StripGlobalPrefix,
306
306
(*Name).size () - StripGlobalPrefix);
307
- if (void *Addr = Dylib.getAddressOfSymbol (Tmp.c_str ())) {
308
- NewSymbols[Name] = JITEvaluatedSymbol (
309
- static_cast <JITTargetAddress>(reinterpret_cast <uintptr_t >(Addr)),
310
- JITSymbolFlags::Exported);
307
+ if (void * P = Dylib.getAddressOfSymbol (Tmp.c_str ())) {
308
+ NewSymbols[Name] = {orc::ExecutorAddr::fromPtr (P),
309
+ JITSymbolFlags::Exported};
311
310
}
312
311
}
313
312
@@ -338,9 +337,7 @@ class DelegateGenerator : public DefinitionGenerator {
338
337
auto Addr = lookup (*KV.first );
339
338
if (auto Err = Addr.takeError ())
340
339
return Err;
341
- Symbols[KV.first ] = JITEvaluatedSymbol (
342
- Addr->getValue (),
343
- JITSymbolFlags::Exported);
340
+ Symbols[KV.first ] = {Addr.get (), JITSymbolFlags::Exported};
344
341
}
345
342
if (Symbols.empty ())
346
343
return Error::success ();
@@ -426,10 +423,8 @@ static SymbolMap GetListOfLibcNonsharedSymbols(const LLJIT& Jit) {
426
423
427
424
SymbolMap LibcNonsharedSymbols;
428
425
for (const auto & NamePtr : NamePtrList) {
429
- auto Addr = static_cast <JITTargetAddress>(
430
- reinterpret_cast <uintptr_t >(NamePtr.second ));
431
- LibcNonsharedSymbols[Jit.mangleAndIntern (NamePtr.first )] =
432
- JITEvaluatedSymbol (Addr, JITSymbolFlags::Exported);
426
+ LibcNonsharedSymbols[Jit.mangleAndIntern (NamePtr.first )] = {
427
+ orc::ExecutorAddr::fromPtr (NamePtr.second ), JITSymbolFlags::Exported};
433
428
}
434
429
return LibcNonsharedSymbols;
435
430
}
@@ -639,16 +634,16 @@ llvm::Error IncrementalJIT::removeModule(const Transaction& T) {
639
634
return llvm::Error::success ();
640
635
}
641
636
642
- JITTargetAddress
637
+ orc::ExecutorAddr
643
638
IncrementalJIT::addOrReplaceDefinition (StringRef Name,
644
- JITTargetAddress KnownAddr) {
639
+ orc::ExecutorAddr KnownAddr) {
645
640
646
641
// Let's inject it
647
642
bool Inserted;
648
643
SymbolMap::iterator It;
649
644
std::tie (It, Inserted) = m_InjectedSymbols.try_emplace (
650
645
Jit->mangleAndIntern (Name),
651
- JITEvaluatedSymbol (KnownAddr, JITSymbolFlags::Exported));
646
+ ExecutorSymbolDef (KnownAddr, JITSymbolFlags::Exported));
652
647
assert (Inserted && " Why wasn't this found in the initial Jit lookup?" );
653
648
654
649
JITDylib& DyLib = Jit->getMainJITDylib ();
@@ -658,7 +653,7 @@ IncrementalJIT::addOrReplaceDefinition(StringRef Name,
658
653
if (Error Err = DyLib.define (absoluteSymbols ({*It}))) {
659
654
logAllUnhandledErrors (std::move (Err), errs (),
660
655
" [IncrementalJIT] define() failed: " );
661
- return JITTargetAddress{} ;
656
+ return orc::ExecutorAddr () ;
662
657
}
663
658
664
659
return KnownAddr;
@@ -688,7 +683,7 @@ void* IncrementalJIT::getSymbolAddress(StringRef Name, bool IncludeHostSymbols){
688
683
return nullptr ;
689
684
}
690
685
691
- return jitTargetAddressToPointer <void *>(Symbol-> getValue () );
686
+ return (Symbol. get ()). toPtr <void *>();
692
687
}
693
688
694
689
bool IncrementalJIT::doesSymbolAlreadyExist (StringRef UnmangledName) {
0 commit comments