Можно ли восстановить ресурсы памяти из llvmContext? - PullRequest
1 голос
/ 21 февраля 2011

, начиная с llvm 2.7, можно изолировать типы и все, что может понадобиться LLVM для создания JIT-модуля внутри llvmContext

однако, мне не совсем понятно, как вернуть ресурсы памяти, внутренне выделенные в llvmContext, как только он был использован. Я думаю, что должен быть один, так как смысл использования llvmContext состоит в том, чтобы безопасно использовать их из других потоков, которые не разделяют никаких зависимостей, но потоки запускаются и заканчиваются периодически, и непрерывное создание новых llvmContexts в конечном итоге будет занимать всю доступную оперативную память

1 Ответ

1 голос
/ 13 мая 2011

Да, деструктор LLVMContext освободит всю свою память.Если это не так, пожалуйста, сообщите об ошибке, http://llvm.org/bugs!Конечно, не разрушайте глобальную: -)

Если вы выключаетесь, вы также можете вызвать llvm :: llvm_shutdown (), которая освобождает глобальные статические переменные.Обратите внимание, что здесь нет функции llvm_startup или чего-то подобного ...

...