[BETA MOD] Backported JIT for TCC8902 Eclair

Discussion in 'Telechips TCC8902 Development' started by xaueious, Feb 14, 2011.

  1. xaueious

    xaueious Administrator Staff Member

    Joined:
    Jul 9, 2010
    Messages:
    3,483
    Likes Received:
    435
    Trophy Points:
    222
    Location:
    Canada
    Tablet / Device:
    Asus Transformer TF300, Huwaei Ideos S7-104, HSG X5A, (Past APAD IMX515, APAD RK2808, RK2818 RT7)
    I would like to see a backport for JIT on TCC8902 devices. I do not know what is necessary to get this working, but it has had very good results on the ZT180 and RK2818 devices in the past.

    I have not tried to do this myself other than to swap a few of the binaries experimentally, but there is headroom to be made.

    In particular, the TCC8902 also supports VFP. None of this code is native to Eclair, so it has to be backported from somewhere.
     
  2. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    I tried adding the jit-enabled binaries from the htc hero port, but it caused the dalvikvm to hard lock at boot. If out did boot, it would hard lock randomly. JIT code is present in the eclair vm, it's just too unstable to use, it seems.
     
  3. jschill31

    jschill31 Member

    Joined:
    Mar 4, 2011
    Messages:
    86
    Likes Received:
    3
    Trophy Points:
    72
    Location:
    USA
    Tablet / Device:
    Coby 7015
    Hello,

    Which Hero port are you refering too? I also have a Hero-c and that is what I actually starting learning Android on. I have literally gigs of files and roms for the Hero, maybe I can pull some files? I think everyone gave up on JIT too quickly but my knowledge is limited to piecing things together from working product. I have zero coding experience...

    Cheers
     
  4. Loonix

    Loonix Member

    Joined:
    Nov 18, 2010
    Messages:
    228
    Likes Received:
    20
    Trophy Points:
    87
    Location:
    NULL
    i think the latest (2011/3/8) 2.2.1 firmware for the m701 contains active JIT modules.
    Shouldn't it be easier to port from the same device down to eclair?
     
  5. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    I'm actually working on a native jit build for the 7015. It's just a little time consuming trying to figure out what breaks what when tinkering with system files.

    Getting asure's tcc8902 bsp working with aosp has really helped in development... I'm still planning on getting a tarball posted of the buildable source when I can.

    Sent from my DROIDX using Tapatalk
     
    Last edited: Mar 15, 2011
  6. keijames

    keijames Member

    Joined:
    Dec 10, 2010
    Messages:
    68
    Likes Received:
    3
    Trophy Points:
    72
    Location:
    NULL
    This sound to be a good idea, looking forward to testing you custom ROM soon on my Styleflying T72.
     
  7. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    i've done it. JIT is working and appears stable on my coby kyros mid7015. attached is a zip with three files in it.

    1. Copy /system/lib/libdvm.so and /system/lib/libnativehelper.so to someplace safe just in case something goes horribly wrong.
    2. Do the same thing with /system/bin/dalvikvm
    3. Copy the three files in the zip to your sdcard
    4. Reboot into recovery
    5. Use adb to copy the JIT-enabled files to /system/lib/libdvm.so /system/lib/libnativehelper.so and /system/bin/dalvikvm
    6. Run the following chmod/chown commands:
    Code:
    chmod 0644 /system/lib/libdvm.so
    chmod 0644 /system/lib/libnativehelper.so
    chmod 0755 /system/bin/dalvikvm
    chown root.root /system/lib/libdvm.so
    chown root.root /system/lib/libnativehelper.so
    chown root.root /system/bin/dalvikvm
    7. WIPE CACHE AND DALVIK CACHE
    8. Reboot until the UI fully boots and/or locks up
    9. Reboot into recovery
    10. WIPE CACHE AND DALVIK CACHE AGAIN
    11. Reboot
    12. If tablet locks up, repeat 9 and 10. (I only had to wipe 3 times, including the initial install)
     

    Attached Files:

  8. Loonix

    Loonix Member

    Joined:
    Nov 18, 2010
    Messages:
    228
    Likes Received:
    20
    Trophy Points:
    87
    Location:
    NULL
    Great news l_n!

    i sucessfuly executed step one to six and half of seven on my m701.
    but then i run into troublesince the 'wipe' comand cant be executed on my pad in recovery mode and clockworkmod has only the option to format the cache partition.
    The pad seems to boot fine and run stable after pushing the files and changing their attributes
    but i cant see any difference.
    Will i need to modify my build.prop too to enable jit?

    //EDIT: found the option to wipe dalvik cache in 'advanced' but it finds that "/dev/block/mmcblk0p2" does not exist and it does not (maybe a error in CWM for m701)
    on my m701 there is only "mmcblk0" and "mmcblk0p1"
     
    Last edited: Mar 16, 2011
  9. xaueious

    xaueious Administrator Staff Member

    Joined:
    Jul 9, 2010
    Messages:
    3,483
    Likes Received:
    435
    Trophy Points:
    222
    Location:
    Canada
    Tablet / Device:
    Asus Transformer TF300, Huwaei Ideos S7-104, HSG X5A, (Past APAD IMX515, APAD RK2808, RK2818 RT7)
    For some reason, this made my X5A extremely unstable. But if it works stable on the Coby with significant performance gains (which are expected if full optimizations for VFP and ARMv6 work), it would be worth looking into.

    build.prop has to be changed to jit execution mode.
     
  10. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    well, after some playing with mine, if dalvik.vm.execution-mode is set to int:jit, it becomes unstable. If that is not set in build.prop, logcat still reports jit information. I'm still trying to figure out if this is actually performing the jit compilation. I did notice a bit of a performance increase using these libs and binary, though. So either way I think using them will be beneficial.

    Sent from my DROIDX using Tapatalk
     
  11. xaueious

    xaueious Administrator Staff Member

    Joined:
    Jul 9, 2010
    Messages:
    3,483
    Likes Received:
    435
    Trophy Points:
    222
    Location:
    Canada
    Tablet / Device:
    Asus Transformer TF300, Huwaei Ideos S7-104, HSG X5A, (Past APAD IMX515, APAD RK2808, RK2818 RT7)
    If JIT is not enabled in build.prop, it probably isn't on at all. Not completely sure about this though.
     
  12. jschill31

    jschill31 Member

    Joined:
    Mar 4, 2011
    Messages:
    86
    Likes Received:
    3
    Trophy Points:
    72
    Location:
    USA
    Tablet / Device:
    Coby 7015
    Hello everyone,

    I spent some time with l_n's Watery rom the first night and was getting performance increases without the normal code line in the build.prop. I thought this was extreamly odd myself since it should not be running. My thoughts are that since you built your bin and su files while JIT was running there may be other performance enhancements here without the added instability issues caused by turning it on at the tablet leval. I was seeing linpack scores over 350 when my rom usually hovers around 300. We all know this means nothing but between zipaligning the apps and these new resources you deffinately have a great base to work with for speed. Have either ot you tried the FlashLite files I posted with your animated gif mod? I was thinking of trying the combo tonight when I get our newborn to bed as well as your bin and su files without any JIT references and then with the "fast" command.

    Cheers and lets keep sharing!

    Sent from my HTC Hero CDMA using Tapatalk
     
  13. keijames

    keijames Member

    Joined:
    Dec 10, 2010
    Messages:
    68
    Likes Received:
    3
    Trophy Points:
    72
    Location:
    NULL
    I tried step from 1 -> 12, still getting locks up just before UI came up, luck at custom boot animation screen playing 4 times and stop.

    my pad is Styleflying/Cube U6/Pandawill G10 APAD7 2.1

    Certainly I can goes back to my pervious backup ROM, will try few more times.

    EDIT
    After 6 try, it get in to UI........ but locks again.....

    .....

    EDIT
    NO luck, too untable, able to start into UI saw desktop, but halt.

    Fallback.

    James
     
    Last edited: Apr 7, 2011
  14. zittergie

    zittergie Member

    Joined:
    Oct 10, 2010
    Messages:
    57
    Likes Received:
    4
    Trophy Points:
    72
    Location:
    Belgium
    Tablet / Device:
    Waiting for my Haipad M701R
    Do you need ClockworkMod, or can you apply this to a rooted official firmware too?
     
  15. PopovN

    PopovN Member

    Joined:
    Jul 20, 2011
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    60
    Location:
    Russia
    Tablet / Device:
    Gpad G10
    Hi, i'm owner of Gpad g10(Styleflying/Cube U6/ Roverpad 3wt70)
    I may to say - ITS WORKED !
    And woks great! ... but only 1st time - after appearing UI(after next reboot - it cant to login into os).

    I tried it on several firmwares - from Cube u6, Gpad g10 and roverpad 3wt70.
    After install pure firmware with this jit-update, usually i can use UI and install/use applications on the 3d reboot.

    In linpack i see, what with this binary my tablet works faster by 1.7 times.
    On pure firmware(android 2.1) i have 4.5 MFLOPS
    With jit - 7.8 MFLOPS
    And on the android 2.3.3 beta from pandawill i have 7.1 MFLOPS
    I can to say that jit here faster then in android 2.3.3 beta!

    And also i understand, what if i use only libdvm.so (without another binary files|librares) for update - it works with same benchmark-stats in linpack
    (and video|sound in "Angry birds" is very flawlessly)

    Can you look into code of libdvm.so another time -may be exists way to make "not-only-one-boot-working" library?
    I promise to test every your build and give you all logs from ddms..

    Thank you.
     
    Last edited: Jul 22, 2011

Share This Page

Search tags for this page

backport youtube mid7015