Hi Rodolph, I see, thanks. Do you know if this also applies to the android_arm target? The Makefile.android states that v7 is active and neon off. Would I have to change the Makefile to create an armv5 build?
Cheers, Kevin On 03.09.2012, at 13:16, Rodolph Perfetta wrote: > Hi Kevin, > > The standalone V8 for ARM builds for armv7+vfpv3 by default using gyp. > > V8 has two compilers, one non optimising which compiles everything the > first time and an optimising compiler (crankshaft) for hotspots. To > use crankshaft on ARM you need armv7+vfpv3. The non optimising > compiler works on armv5 (and probably armv4). If performance is > important then crankshaft is a must. > > Note that V8 will check the CPU at runtime so even if statically > compiled for armv5 it may use cranckshaft when running. > > NEON is a SIMD engine and JS VM currently don't emit SIMD like code. > > Cheers, > Rodolph. > > On 2 September 2012 22:15, Paul Lind <[email protected]> wrote: >> Hi Kevin - >> >> Regarding your MIPS question, you are best off pulling from Google's release >> branches, which match up to major Chrome releases. Those will have received >> the most testing, on all platforms. The latest right now is 3.12, and >> Android Jelly Bean is using 3.9, if that matters to you at all. >> >> As you may or may not know, the MIPS port is developed by our outside team, >> and on any given day we may not have finished porting necessary to work with >> recent changes the Google team has made. Roughly once a week, they push to >> trunk, and we currently don't sync up with them on these pushes. So MIPS may >> be broken in trunk. We definitely do sync up on the release branches, and >> get everything thoroughly tested. >> >> We do keep the code at our own repo (https://github.com/paul99/v8m-rb) >> working and our bleeding_edge branch will match theirs (though possibly a >> day or two behind as port changes). So far there has not been demand for >> keeping 'trunk' in sync for MIPS. But again, our bleeding_edge and theirs >> can be broken at a given moment in time, so release branches are your best >> bet for product development. >> >> I don't know the answer to all your ARM questions, but I do know that Neon >> is not used in v8, however the VFP3 floating point is required for the >> optimizing (crankshaft) compiler. >> >> thanks, >> >> paul >> >> >> >> On Sep 2, 2012, at 10:55 AM, Kevin Read wrote: >> >> Hi all, >> >> I succeeded in using v8 via JNI and the ndk from within my android app. The >> idea here is to reuse existing JS code but with performance improvements. I >> have some questions regarding the build flags for the different >> architectures. >> >> I was under the impression that v8 builds for ARMv5 by default. Is that >> correct? I also read somewhere that when compiled for ARMv5 v8 would not use >> the JIT and so performance would suffer. In any case, how would I go about >> compiling for ARMv5 or ARMv7 explicitly? >> Would it make sense to compile v8 with softfp and/or neon? I'm working with >> fairly math intensive code. >> >> I would also like to investigate building for MIPS, so that I have all >> tablet hardware covered. Can I use trunk for that at the moment, or should I >> try to work with the code from https://github.com/paul99/v8m-rb/? >> >> Thanks for your input, and for this best of JS VMs :) >> >> Regards, >> Kevin >> >> >> -- >> v8-users mailing list >> [email protected] >> http://groups.google.com/group/v8-users >> >> >> -- >> v8-users mailing list >> [email protected] >> http://groups.google.com/group/v8-users > > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
