3 ms·
Still need JVM support of value types for this to make sense.
by sureshv 8y ago
Still need JVM support of value types for this to make sense.
- jayd16 8y agoAndroid doesn't use the JVM. Hell, it doesn't even really use a VM any more.
- pjmlp 8y agoSure it does, ART was AOT only during Android 5 and 6. Android 7 brought the VM back. Now it uses an interpreter hand written in Assembly that gathers PGO info for the JIT, which also performs PGO data gathering, then only the hot bits are AOT compiled to native code, when the device is idle. Any change on the execution path or updates trigger the execution process from the beginning.
- wolf550e 8y agoI didn't know that. Here are the docs: https://source.android.com/devices/tech/dalvik/jit-compiler https://source.android.com/devices/tech/dalvik/jit-compiler
- pjmlp 8y agoThe docs are outdated, Android P is bringing sharing of PGO data across devices via the Play Store. https://www.youtube.com/watch?v=Yi9-BqUxsno https://www.youtube.com/watch?v=Yi9-BqUxsno
- jayd16 8y agoI'm going to stand by my statement of "not really a vm." Calling it a plain vm when the goal is to run as much AOT code as possible is too misleading.
- pjmlp 8y agoI call it whatever the CS theory of programming language says. And from that point of view, ART on Android 5/6 was a runtime, turned into a VM on Android 7. From your point of view, the CLR is also not a VM.