https://bugs.llvm.org/show_bug.cgi?id=44337

Lang Hames <lha...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #24 from Lang Hames <lha...@gmail.com> ---
> I have ported your patch from #40074 to LLVM 9.0.0 and tested it in the mine 
> environment.
> Your patch is working fine for me.
> Also, it fixes bug #44336.

That's great news. :)
Ok -- closing this as fixed by 84217ad6611.

> But are you sure that it is a good idea to pass a parameter by value?
> Error defineMaterializing(SymbolFlagsMap SymbolFlags);
> If you don't want to modify the map, a constant reference is a better 
> solution, if you want to modify, a non-constant reference or pointer is more 
> applicable here, in my opinion.

The JITDylib::defineMaterializing method makes modifications to the map based
on what definitions are accepted and rejected, and returns these to
MaterializationResponsibilty::defineMaterializing so that it can update the
responsibility set. Since these modifications are not interesting to the
client, it makes sense to pass by value: It is cheap, and if the client does
not need their value any more then no copies are required.

> One more question for you: is removing a module from OrcJIT will be available 
> in LLVM 10?

Unfortunately support for removing modules will not make it in to LLVM 10. The
best solution for now is to maintain a separate ExecutionSession for code that
you want to throw away. I am working on removable module support, and hope to
get it in to LLVM 11.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to