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
