Just rebuilt CM from the source, with JIT enabled (and fixed the code to compile)
* With "plain" CyanogenMod 5.0.x ROM it appears to be at least partly functional (people reporting Linpack jump from 7 to 17 Mflops) but I expect instabilities so JIT is definitely still far from the "prime time"
* It appears that HTC Desire ROM and JIT do not mix well. You will get reboots as soon as you try to unlock via. slider. I am trying to figure out what is causing this
For people that want to experiment - I am providing the precompiled Dalvik libraries with JIT enabled. DO NOT TRY THIS IF YOU ARE INEXPERIENCED!!! I assume no liabilities for any problems. Please read the readme first!
* With "plain" CyanogenMod 5.0.x ROM it appears to be at least partly functional (people reporting Linpack jump from 7 to 17 Mflops) but I expect instabilities so JIT is definitely still far from the "prime time"
* It appears that HTC Desire ROM and JIT do not mix well. You will get reboots as soon as you try to unlock via. slider. I am trying to figure out what is causing this
For people that want to experiment - I am providing the precompiled Dalvik libraries with JIT enabled. DO NOT TRY THIS IF YOU ARE INEXPERIENCED!!! I assume no liabilities for any problems. Please read the readme first!
Code:
JIT Support for Nexus One CyanogenMod 5.0.x / Kernel 2.6.33.1 (Eclair)
By Ivan Dimkovic (psyq321)
--------------------------
NOTE: JIT is totally unsupported and known to be NOT stable!!! There is no guarantee your system will boot at all!!! ALWAYS BACK UP YOUR SYSTEM WITH NANDROID FIRST!!! This package is provided for TESTING PURPOSES ONLY. Author assumes NO LIABILITY WHATSOEVER if you brick your phone!!!
1. What is this?
This package contains several Android system files that enable JIT ("Just in Time") feature in the Dalvik VM. JIT is very unstable and it is not built-in the AOSP or Cyanogen's ROMs. This package contains system files built with JIT feature ON and it could be useful for testing for people that do not wish to recompile the entire ROM
extra_tuning directory contains Dalvik JIT library compiled with WITH_JIT_TUNING option. This option presumably enables even more optimizations for the JIT, but it appears to be totally unstable (I get endless reboot cycle)
2. How to make JIT enabled?
Follow these steps:
- BACK UP YOUR SYSTEM WITH NANDROID (IMPORTANT!!!)
- Connect your phone to the PC
- Copy the Dalvik files to the system directories:
adb remount
adb push libdvm.so /system/lib/libdvm.so
adb push libnativehelper.so /system/lib/libnativehelper.so
adb push dalvikvm /system/bin/dalvikvm
- Go to the shell (e.g. via adb shell, or via ssh) and change the permissions:
chmod 755 /system/bin/dalvikvm
chmod 644 /system/lib/libdvm.so
chmod 644 /system/lib/libnativehelper.so
- Add this line at the end of your system's build.prop
dalvik.vm.execution-mode=int:jit
- Reboot into RECOVERY and wipe Dalvik cache!
- Reboot
3. It does not work? My system keeps rebooting / My system crashes randomly?
Unfortunately, this can happen and this is known issue with JIT. This is the reason why it is not enabled. You are free to look in the AOSP code and try to fix it by yourself, but I suggest to wait until original developers make it stable
Enjoy!
Attachments
Last edited: