Michael Ho has posted comments on this change. Change subject: IMPALA-3674: Lazy materialization of LLVM module bitcode. ......................................................................
Patch Set 4: (1 comment) http://gerrit.cloudera.org:8080/#/c/3220/4/be/src/codegen/llvm-codegen.cc File be/src/codegen/llvm-codegen.cc: Line 249: bool error = Linker::linkModules(*module_, std::move(new_module)); > I don't think it works reliably if either module is lazily loaded from what Would you mind sharing with me offline the problem you ran into ?We may need to materialize the source module by calling MaterializeFunctionAndCallee() on each of the function of the source module so we pull in dependency from the destination module (i.e. the module loaded from memory in the existing code). In the worst case, we may need to eagerly validate both the destination and source modules when LinkModule() is called. That will still get us the benefit in the common case where we don't need to load modules from external UDFs' implementation. -- To view, visit http://gerrit.cloudera.org:8080/3220 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6ed7862fc5e86005ecea83fa2ceb489e737d66b2 Gerrit-PatchSet: 4 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Michael Ho <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Mostafa Mokhtar <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
