简短的故事:默认后端成功,LLVM后端没有运气。有没有人使用LLVM后端成功编译OAT(--compiler-backend = Portable)?
详细说明:
在Android 4.4上,我使用默认的“Quick”后端成功将DEX文件编译为OAT文件,后端是基于MIR的。当我尝试使用LLVM后端“Portable”来做同样的事情时,有两个问题:
当以与快速后端编译的OAT文件相同的方式使用时,LLVM后端编译的OAT文件会使应用程序发生段错误。
与默认的Quick选项相比,LLVM编译速度非常慢。在LLVM中编译的方法花费超过100毫秒,一个小的DEX需要1分钟才能完成。默认快速后端仅使用2-3秒完成整个编译。
之前有人经历过这个吗?