当我在手机上启动应用程序时,我从日志中收到很多以下错误:
E/dalvikvm( 2052): No free temp registers
E/dalvikvm( 2052): Jit: aborting trace compilation, reverting to interpreter
E/dalvikvm( 2052): No free temp registers
E/dalvikvm( 2052): Jit: aborting trace compilation, reverting to interpreter
发生了什么事 ?
Dalvik JIT 使用简单且快速的寄存器分配器,并且通常不知道如何溢出。在这种情况下,JIT 在编译跟踪时必须用完可用寄存器,它不会尝试溢出,而是放弃跟踪(在某些情况下,它将把跟踪分成两个较小的块并重试)。
这种情况更有可能发生在 Armv5te 系统上,因为 JIT 使用 16 位 Thumb 指令(这限制了有用寄存器的集合)。但是,预计这不会是一个常见问题(并且它应该只会导致性能下降 - 它不应该是正确性问题)。如果您经常看到这种情况发生,请提交错误报告。
Thanks,
...比尔·布兹比
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)