Re: [webkit-dev] Announce the ARM port of JIT
Hi, Thanks :) we put all those constants into the constant pool. ARM supports position independent code efficently, since its program counter is a regular register as well. We can load, modify or even jump to the addresses which are stored in the constant pool. Constant pools are dynamically put into the jit code, except when we need tightly coupled instruction pairs. Those must not be broken by a constant pool. Zoltan Congratulations! any improvement on X86 hard coded offset for code patch? I mean X86 uses single pointer then a few constants closely coupled to X86 to patch code, which is a nightmare for porting. rgds joe ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Announce the ARM port of JIT
Hi, after I read my mail again I am not sure it is clear what I wanted to say. current operation: - push instruction. It will either a) push the current instruction b) push he constant pool, and push the current instruction - utility function: the next two instruction will be tightly coupled if the constant pool is pushed after the first instruction, push it NOW (implemented) planned operation: - we can extend our utility function for MORE than two instructions. - we can use hard coded offsets from that time as the x86 port. Zoltan Hi, Thanks :) we put all those constants into the constant pool. ARM supports position independent code efficently, since its program counter is a regular register as well. We can load, modify or even jump to the addresses which are stored in the constant pool. Constant pools are dynamically put into the jit code, except when we need tightly coupled instruction pairs. Those must not be broken by a constant pool. Zoltan Congratulations! any improvement on X86 hard coded offset for code patch? I mean X86 uses single pointer then a few constants closely coupled to X86 to patch code, which is a nightmare for porting. rgds joe ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Announce the ARM port of JIT (Gabor Loki)
Hi, why the JavaScriptCore/wrec/WRECGenerator.cpp file was not ported to use ARM instructions? regards. haithem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Announce the ARM port of JIT (Gabor Loki)
Hi, There isn't any barrier why not porting WREC. We are going to port WREC, the development is ongoing, and the results will be available too. br, Ossy haithem rahmani írta: why the JavaScriptCore/wrec/WRECGenerator.cpp file was not ported to use ARM instructions? regards. haithem ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Announce the ARM port of JIT
Congratulations! any improvement on X86 hard coded offset for code patch? I mean X86 uses single pointer then a few constants closely coupled to X86 to patch code, which is a nightmare for porting. rgds joe --- On Wed, 4/1/09, Gabor Loki l...@inf.u-szeged.hu wrote: From: Gabor Loki l...@inf.u-szeged.hu Subject: [webkit-dev] Announce the ARM port of JIT To: webkit-dev@lists.webkit.org, squirrelfish-...@lists.webkit.org Date: Wednesday, April 1, 2009, 9:57 PM Hi guys, we are pleased to announce that the ARM port of JIT is finally released. The source can be checked out from 'loki/arm-port' branch of git://code.staikos.net/webkit : - git clone git://code.staikos.net/webkit git checkout loki/arm-port - or see at http://code.staikos.net/cgi-bin/gitweb.cgi?p=webkit;a=shortlog;h=loki/arm-port The aim of this development is to add JIT support for ARM architectures. The port itself is developed from scratch, but we reused the ideas of x86 JIT. So we implemented property caches, stub functions, etc. in a similar way, but the code is optimized for ARM architectures. We used Qt4 build environment for the development, but we feel that the other build platforms can be easily extended with this ARM port. The current version is stable. It passes the regression tests. We did measurements on a Nokia N810, and we gained 13% performance improvement. The memory consumption is increased by 3.3% which is a small trade-off for this performance improvement. Our work has not done yet. We plan to add several other features in the future. Please, feel free to ask any questions about the ARM JIT here at the mail list or at the following Bugzilla entry: https://bugs.webkit.org/show_bug.cgi?id=24986 --Gabor ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
[webkit-dev] Announce the ARM port of JIT
Hi guys, we are pleased to announce that the ARM port of JIT is finally released. The source can be checked out from 'loki/arm-port' branch of git://code.staikos.net/webkit : - git clone git://code.staikos.net/webkit git checkout loki/arm-port - or see at http://code.staikos.net/cgi-bin/gitweb.cgi?p=webkit;a=shortlog;h=loki/arm-port The aim of this development is to add JIT support for ARM architectures. The port itself is developed from scratch, but we reused the ideas of x86 JIT. So we implemented property caches, stub functions, etc. in a similar way, but the code is optimized for ARM architectures. We used Qt4 build environment for the development, but we feel that the other build platforms can be easily extended with this ARM port. The current version is stable. It passes the regression tests. We did measurements on a Nokia N810, and we gained 13% performance improvement. The memory consumption is increased by 3.3% which is a small trade-off for this performance improvement. Our work has not done yet. We plan to add several other features in the future. Please, feel free to ask any questions about the ARM JIT here at the mail list or at the following Bugzilla entry: https://bugs.webkit.org/show_bug.cgi?id=24986 --Gabor ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev