Android exception in dalvikvm

对着背影说爱祢 提交于 2019-12-10 14:45:25

问题


When I launch my application on my phone, I get a lot of the following error from the log :

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

what's happened ?


回答1:


The Dalvik JIT uses a simple & fast register allocator, and generally doesn't know how to spill. In this case, the JIT must have run out of free registers while compiling a trace and rather than attempt to spill, it abandoned the trace (in some cases, it will split the trace in two smaller chunks and retry).

This situation is more likely to occur on an Armv5te system because the JIT uses 16-bit Thumb instructions (which limit the set of useful registers). However, it is not expected to be a common problem (and it should only result is reduced performance - it shouldn't be a correctness issue). If you see this happening frequently, please file a bug report.

Thanks,

...Bill Buzbee




回答2:


Looks like nothing to worry about. From the android issue tracker: http://code.google.com/p/android/issues/detail?id=18647

"This situation should never occur on an actual device > armv5te, and in any event represents a missed performance opportunity rather than a correctness problem. I'll change the LOGE's to LOGD's."

"The purpose of the message was to help the JIT developers determine whether a particular code pattern occurred frequently enough to justify extra optimization effort."

"If it happens occasionally on an older device (or the emulator) then it's safe to ignore. However, if you're seeing it constantly that suggests a problem - likely a misconfigured Dalvik VM build or perhaps new code has been added to the system that makes what was once an uncommon situation common."



来源:https://stackoverflow.com/questions/4936758/android-exception-in-dalvikvm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!