Commits


Projjal Chanda authored and Pindikura Ravindra committed 269f5d2d422
ARROW-15598: [C++][Gandiva] Avoid using hardcoded raw pointer addresses in generated code This change fixes sporadic crashes that happened with certain expression when caching only the generated object code. The crash was happening because the generated code contained raw hardcoded pointer addresses during building certain expressions, and when using this cache entry during subsequent times these addresses point to then invalid memory. This change : * introduces an array of pointers that holds the pointers to function holders and in holders, that is filled up during the annotate stage and passed to the generated function during execution. The generated IR contains indices to this array instead of hardcoded addresses. * includes string literal in the generated IR as a global variable instead of a raw pointer address to the process memory. Closes #12351 from projjal/fix_holder_pointer Authored-by: Projjal Chanda <iam@pchanda.com> Signed-off-by: Pindikura Ravindra <ravindra@dremio.com>