[llvm-commits] [llvm] r91626 - in /llvm/trunk: lib/ExecutionEngine/JIT/JIT.cpp lib/ExecutionEngine/JIT/JIT.h lib/ExecutionEngine/JIT/JITEmitter.cpp unittests/ExecutionEngine/JIT/JITTest.cpp

Nick Lewycky nicholas at mxc.ca
Mon Dec 21 21:44:22 PST 2009


nicolas geoffray wrote:
> Hi Jeffrey,
>
>
>     Ah, I see now. You have your own ModuleProvider, and it needs to know
>     precisely when the function is actually needed, right? Yeah, it sounds
>     like I need to roll back that part of this fix until PR5737 is fixed.
>
>
> Yes, thanks!
>
>  
>
>     Could you please write some tests for the ways you're using
>     ModuleProviders and the other interfaces in LLVM? I keep breaking or
>     nearly breaking you, and I'd be much more likely to get this right if
>     a test broke when I got it wrong.
>
>
> OK, I'll try to do that as soon as possible.
Hi Nicolas,

While I agree we certainly don't want to break your stuff, I'm not 
comfortable with you relying on implementation details of how 
ModuleProvider is used. There's no documented restrictions on when 
materializeFunction may be called, so relying on it to happen to match 
Java (and apparently C#) for the correct operation of your VM seems dubious.

Is it possible for you to detach the Java loading behaviour from the 
ModuleProvider at all? If not, are there semantics that we should 
guarantee on the MP that are shared across all languages that want 
lazy-loading?

Nick




More information about the llvm-commits mailing list