ARM support - which architecture variants?

134 views
Skip to first unread message

Hugo Vincent

unread,
Feb 23, 2011, 12:12:42 PM2/23/11
to v8-users
Hi,

I can't find in the documentation which ARM architecture types V8
supports. Does it support older ARM9 devices (I'm specifically
interested in an ARMv5te architecture, ARM926ej-s device) or only
newer ARMv7 (Cortex-A8 etc)? I can see that it is (supposed to) build
on ARMv5te, but do all the JIT features work or is it running in a
byte code interpreter fallback or something? Can I expect good
performance?

Thanks,
Hugo

Rodolph Perfetta

unread,
Feb 23, 2011, 12:33:42 PM2/23/11
to v8-u...@googlegroups.com
V8 can run on ARMv4 devices (non T though).

There is no interpreter in V8 so you will be using the JIT every time, perfromance should be good (keep in mind CPU like 926-ej-s do not have L2 cache and this is going to have a visible impact). There is a new JIT infrastructure being developed (crankshaft) which features an optimising JIT and this will only be for ARMv7+VFP devices.

HTH,
Rodolph.

Søren Gjesse

unread,
Feb 23, 2011, 4:14:40 PM2/23/11
to v8-u...@googlegroups.com, Rodolph Perfetta
Just a follow-up note regarding the new optimizing compiler (crankshaft). This will be enabled by default for ARM quite soon, and the existing optimizing compiler will be removed at some point. For non ARMv7+VFP devices this means that the base JIT (non-optimizing/full-compiler) will be used. To measure the different compilers on a ARMv7+VFP device use following options:

  --nocrankshaft (current optimizing JIT - the current default)
  --crankshaft (new optimizing JIT - the soon to be default)
  --always-full-compiler (base/non-optimizing compiler)

Going forward using --crankshaft on a non ARMv7+VFP device will have no effect and execution will fallback to --always-full-compiler.

Regards,
Søren

Hugo Vincent

unread,
Mar 8, 2011, 2:05:33 PM3/8/11
to v8-users
How much slower is full-compiler than nocrankshaft on ARM926ej-s -
anyone have any benchmarks? I'm hesitant to invest time in using V8
for my project if it's going to get substantially slower soon. Is
there any estimated time frame for when nocrankshaft will be
deprecated?

Thanks,
Hugo

On Feb 23, 9:14 pm, Søren Gjesse <sgje...@chromium.org> wrote:
> Just a follow-up note regarding the new optimizing compiler (crankshaft).
> This will be enabled by default for ARM quite soon, and the existing
> optimizing compiler will be removed at some point. For non ARMv7+VFP devices
> this means that the base JIT (non-optimizing/full-compiler) will be used. To
> measure the different compilers on a ARMv7+VFP device use following options:
>
>   --nocrankshaft (current optimizing JIT - the current default)
>   --crankshaft (new optimizing JIT - the soon to be default)
>   --always-full-compiler (base/non-optimizing compiler)
>
> Going forward using --crankshaft on a non ARMv7+VFP device will have no
> effect and execution will fallback to --always-full-compiler.
>
> Regards,
> Søren
>
> On Wed, Feb 23, 2011 at 18:33, Rodolph Perfetta
> <rodolph.perfe...@gmail.com>wrote:
>
>
>
>
>
>
>
> > V8 can run on ARMv4 devices (non T though).
>
> > There is no interpreter in V8 so you will be using the JIT every time,
> > perfromance should be good (keep in mind CPU like 926-ej-s do not have L2
> > cache and this is going to have a visible impact). There is a new JIT
> > infrastructure being developed (crankshaft) which features an optimising JIT
> > and this will only be for ARMv7+VFP devices.
>
> > HTH,
> > Rodolph.
>

Søren Gjesse

unread,
Mar 9, 2011, 4:02:37 AM3/9/11
to v8-u...@googlegroups.com, Hugo Vincent
For ARM crankshaft is now the default. This change is in the repository starting from V8 version 3.2. To use the previous optimizing compiler --nocrankshaft will have to be used. When crankshaft for ARM has been fully stabilized the previous optimizing compiler will be removed from the repository and running with --nocrankshaft will no longer be possible. There is no specific date to when this will happen but most likely it will be within a month or two. The removal of the previous optimizing compiler will happen for all supported platforms simultaneously,

The previous optimizing compiler can of cause still be found in previous versions of V8.

Regards,
Søren

Arun M

unread,
Apr 2, 2011, 2:40:14 AM4/2/11
to v8-users


Hi

Is Crankshaft optimizing compiler enabled for ARMv7-A + NEON devices
which does not have VFPv3 FPU?

Thanks & Regards
Arun

Alexandre Rames

unread,
Apr 4, 2011, 4:45:52 AM4/4/11
to v8-u...@googlegroups.com
Hello Arun,

Crankshaft is now enabled by default on ARM processors supporting VFPv3.
v8 does not use NEON (it is not worth using, at least currently), but I believe no processors with this configuration (NEON without VFPv3) exist anyway. So if the CPU feature detection work correctly, v8 should assume that you have VFPv3 if it detects NEON, and thus use use Crankshaft.

If I remember correctly there has been some issues with incorrect feature detection. A simple run of the v8 benchmarks with the latest bleeding_edge and the frequency of your CPU should be enough to determine if crankshaft is enabled.

I hope this helps.

Regards,

Alexandre

Søren Gjesse

unread,
Apr 4, 2011, 4:46:29 AM4/4/11
to v8-u...@googlegroups.com, Arun M
The Crankshaft optimizing compiler requires VFPv3. Without VFPv3 the non-optimizing will be used for all code. V8 cannot make use of NEON.

Regards,
Søren

Víctor M. Jáquez L.

unread,
Apr 4, 2011, 5:19:37 AM4/4/11
to v8-u...@googlegroups.com
On Mon, Apr 04, 2011 at 09:45:52AM +0100, Alexandre Rames wrote:
> Hello Arun,
>
> Crankshaft is now enabled by default on ARM processors supporting VFPv3.
> v8 does not use NEON (it is not worth using, at least currently), but I
> believe no processors with this configuration (NEON without VFPv3) exist
> anyway. So if the CPU feature detection work correctly, v8 should assume
> that you have VFPv3 if it detects NEON, and thus use use Crankshaft.
>
> If I remember correctly there has been some issues with incorrect feature
> detection. A simple run of the v8 benchmarks with the latest bleeding_edge
> and the frequency of your CPU should be enough to determine if crankshaft is
> enabled.

The CPU features detection is done parsing the /proc/cpuinfo file:

https://code.google.com/p/v8/source/browse/branches/bleeding_edge/src/platform-linux.cc#111

So, if your cpu information is not exposed correctly the detection will fail.

I'd never seen an ARM with NEON but without VFPv3.

vmjl

>
> I hope this helps.
>
> Regards,
>
> Alexandre
>
>
> On Sat, Apr 2, 2011 at 7:40 AM, Arun M <arunm....@gmail.com> wrote:
>
> >
> >
> > Hi
> >
> > Is Crankshaft optimizing compiler enabled for ARMv7-A + NEON devices
> > which does not have VFPv3 FPU?
> >
> > Thanks & Regards
> > Arun
> >
> >
> > On Mar 9, 6:02 pm, S�ren Gjesse <sgje...@chromium.org> wrote:
> > > For ARM crankshaft is now the default. This change is in the repository
> > > starting from V8 version 3.2. To use the previous optimizing compiler
> > > --nocrankshaft will have to be used. When crankshaft for ARM has been
> > fully
> > > stabilized the previous optimizing compiler will be removed from the
> > > repository and running with --nocrankshaft will no longer be possible.
> > There
> > > is no specific date to when this will happen but most likely it will be
> > > within a month or two. The removal of the previous optimizing compiler
> > will
> > > happen for all supported platforms simultaneously,
> > >
> > > The previous optimizing compiler can of cause still be found in previous
> > > versions of V8.
> > >
> > > Regards,

> > > S�ren

> > > > > S�ren

Víctor M. Jáquez L.

unread,
Apr 4, 2011, 5:20:49 AM4/4/11
to v8-u...@googlegroups.com, Arun M
On Mon, Apr 04, 2011 at 10:46:29AM +0200, S�ren Gjesse wrote:
> The Crankshaft optimizing compiler requires VFPv3. Without VFPv3 the
> non-optimizing will be used for all code. V8 cannot make use of NEON.

Why v8 cannot make use of NEON? Because of an specific reason?

vmjl

>
> Regards,
> S�ren


>
> On Sat, Apr 2, 2011 at 08:40, Arun M <arunm....@gmail.com> wrote:
>
> >
> >
> > Hi
> >
> > Is Crankshaft optimizing compiler enabled for ARMv7-A + NEON devices
> > which does not have VFPv3 FPU?
> >
> > Thanks & Regards
> > Arun
> >
> >
> > On Mar 9, 6:02 pm, S�ren Gjesse <sgje...@chromium.org> wrote:
> > > For ARM crankshaft is now the default. This change is in the repository
> > > starting from V8 version 3.2. To use the previous optimizing compiler
> > > --nocrankshaft will have to be used. When crankshaft for ARM has been
> > fully
> > > stabilized the previous optimizing compiler will be removed from the
> > > repository and running with --nocrankshaft will no longer be possible.
> > There
> > > is no specific date to when this will happen but most likely it will be
> > > within a month or two. The removal of the previous optimizing compiler
> > will
> > > happen for all supported platforms simultaneously,
> > >
> > > The previous optimizing compiler can of cause still be found in previous
> > > versions of V8.
> > >
> > > Regards,

> > > S�ren

> > > > > S�ren

Mads Sig Ager

unread,
Apr 4, 2011, 6:52:11 AM4/4/11
to v8-u...@googlegroups.com, Víctor M. Jáquez L., Arun M
Hi Victor,

we have not found any of the NEON instructions useful to speed up
computations in V8. We don't have anything against NEON. So far we
have been able to do better without.

Cheers, -- Mads

On Mon, Apr 4, 2011 at 11:20 AM, Víctor M. Jáquez L. <vja...@igalia.com> wrote:


> On Mon, Apr 04, 2011 at 10:46:29AM +0200, Søren Gjesse wrote:
>> The Crankshaft optimizing compiler requires VFPv3. Without VFPv3 the
>> non-optimizing will be used for all code. V8 cannot make use of NEON.
>
> Why v8 cannot make use of NEON? Because of an specific reason?
>
> vmjl
>
>>
>> Regards,

>> Søren


>>
>> On Sat, Apr 2, 2011 at 08:40, Arun M <arunm....@gmail.com> wrote:
>>
>> >
>> >
>> > Hi
>> >
>> > Is Crankshaft optimizing compiler enabled for ARMv7-A + NEON devices
>> > which does not have VFPv3 FPU?
>> >
>> > Thanks & Regards
>> > Arun
>> >
>> >
>> > On Mar 9, 6:02 pm, Søren Gjesse <sgje...@chromium.org> wrote:
>> > > For ARM crankshaft is now the default. This change is in the repository
>> > > starting from V8 version 3.2. To use the previous optimizing compiler
>> > > --nocrankshaft will have to be used. When crankshaft for ARM has been
>> > fully
>> > > stabilized the previous optimizing compiler will be removed from the
>> > > repository and running with --nocrankshaft will no longer be possible.
>> > There
>> > > is no specific date to when this will happen but most likely it will be
>> > > within a month or two. The removal of the previous optimizing compiler
>> > will
>> > > happen for all supported platforms simultaneously,
>> > >
>> > > The previous optimizing compiler can of cause still be found in previous
>> > > versions of V8.
>> > >
>> > > Regards,

>> > > Søren

>> > > > > Søren

Arun M

unread,
Apr 5, 2011, 3:28:53 AM4/5/11
to v8-users
Hi

I am running the v8 benchmark suite from Chromium browser.
(http://v8.googlecode.com/svn/data/benchmarks/v6/run.html)
Currently the browser version is 12.0.703.0.

But I still have not got any improvement on ARM platform for the V8
benchmark suite.

Which version of Chromium will include the crankshaft improvement for
V8 on ARM?

Thanks & Regards
Arun

On Apr 4, 7:52 pm, Mads Sig Ager <a...@chromium.org> wrote:
> Hi Victor,
>
> we have not found any of the NEON instructions useful to speed up
> computations in V8. We don't have anything against NEON. So far we
> have been able to do better without.
>
> Cheers,    -- Mads
>
> On Mon, Apr 4, 2011 at 11:20 AM, Víctor M. Jáquez L. <vjaq...@igalia.com> wrote:
>
>
>
>
>
>
>
> > On Mon, Apr 04, 2011 at 10:46:29AM +0200, Søren Gjesse wrote:
> >> The Crankshaft optimizing compiler requires VFPv3. Without VFPv3 the
> >> non-optimizing will be used for all code. V8 cannot make use of NEON.
>
> > Why v8 cannot make use of NEON? Because of an specific reason?
>
> > vmjl
>
> >> Regards,
> >> Søren
>

Jérémy Lal

unread,
Apr 5, 2011, 3:52:05 AM4/5/11
to v8-u...@googlegroups.com
On 05/04/2011 09:28, Arun M wrote:
> Hi
>
> I am running the v8 benchmark suite from Chromium browser.
> (http://v8.googlecode.com/svn/data/benchmarks/v6/run.html)
> Currently the browser version is 12.0.703.0.
>
> But I still have not got any improvement on ARM platform for the V8
> benchmark suite.
>
> Which version of Chromium will include the crankshaft improvement for
> V8 on ARM?

Check
http://src.chromium.org/viewvc/chrome/releases/
http://src.chromium.org/viewvc/chrome/releases/12.0.725.0/DEPS?revision=80328&view=markup
has :
'src/v8':
'http://v8.googlecode.com/svn/trunk@7427',
and in : http://code.google.com/p/v8/source/list?num=25&start=7446
you can see that it's version 3.2.6.
Same reading for 12.0.703.0 gives v8 3.2.1.1
Maybe chromium builds v8 with --nocrankshaft ?

Along with :


>>>>>> For ARM crankshaft is now the default. This change is in the repository
>>>>>> starting from V8 version 3.2.

>

> Thanks & Regards
> Arun
>
> On Apr 4, 7:52 pm, Mads Sig Ager <a...@chromium.org> wrote:
>> Hi Victor,
>>
>> we have not found any of the NEON instructions useful to speed up
>> computations in V8. We don't have anything against NEON. So far we
>> have been able to do better without.
>>
>> Cheers, -- Mads
>>

>> On Mon, Apr 4, 2011 at 11:20 AM, V锟絚tor M. J锟絨uez L. <vjaq...@igalia.com> wrote:


>>
>>
>>
>>
>>
>>
>>
>>> On Mon, Apr 04, 2011 at 10:46:29AM +0200, S锟絩en Gjesse wrote:
>>>> The Crankshaft optimizing compiler requires VFPv3. Without VFPv3 the
>>>> non-optimizing will be used for all code. V8 cannot make use of NEON.
>>
>>> Why v8 cannot make use of NEON? Because of an specific reason?
>>
>>> vmjl
>>
>>>> Regards,

>>>> S锟絩en


>>
>>>> On Sat, Apr 2, 2011 at 08:40, Arun M <arunm.chr...@gmail.com> wrote:
>>
>>>>> Hi
>>
>>>>> Is Crankshaft optimizing compiler enabled for ARMv7-A + NEON devices
>>>>> which does not have VFPv3 FPU?
>>
>>>>> Thanks & Regards
>>>>> Arun
>>

>>>>> On Mar 9, 6:02 pm, S锟絩en Gjesse <sgje...@chromium.org> wrote:
>>>>>> For ARM crankshaft is now the default. This change is in the repository
>>>>>> starting from V8 version 3.2. To use the previous optimizing compiler
>>>>>> --nocrankshaft will have to be used. When crankshaft for ARM has been
>>>>> fully
>>>>>> stabilized the previous optimizing compiler will be removed from the
>>>>>> repository and running with --nocrankshaft will no longer be possible.
>>>>> There
>>>>>> is no specific date to when this will happen but most likely it will be
>>>>>> within a month or two. The removal of the previous optimizing compiler
>>>>> will
>>>>>> happen for all supported platforms simultaneously,
>>
>>>>>> The previous optimizing compiler can of cause still be found in previous
>>>>>> versions of V8.
>>
>>>>>> Regards,

>>>>>> S锟絩en


>>
>>>>>> On Tue, Mar 8, 2011 at 20:05, Hugo Vincent <hugo.vinc...@gmail.com>
>>>>> wrote:
>>>>>>> How much slower is full-compiler than nocrankshaft on ARM926ej-s -
>>>>>>> anyone have any benchmarks? I'm hesitant to invest time in using V8
>>>>>>> for my project if it's going to get substantially slower soon. Is
>>>>>>> there any estimated time frame for when nocrankshaft will be
>>>>>>> deprecated?
>>
>>>>>>> Thanks,
>>>>>>> Hugo
>>

>>>>>>> On Feb 23, 9:14 pm, S锟絩en Gjesse <sgje...@chromium.org> wrote:
>>>>>>>> Just a follow-up note regarding the new optimizing compiler
>>>>> (crankshaft).
>>>>>>>> This will be enabled by default for ARM quite soon, and the existing
>>>>>>>> optimizing compiler will be removed at some point. For non ARMv7+VFP
>>>>>>> devices
>>>>>>>> this means that the base JIT (non-optimizing/full-compiler) will be
>>>>> used.
>>>>>>> To
>>>>>>>> measure the different compilers on a ARMv7+VFP device use following
>>>>>>> options:
>>
>>>>>>>> --nocrankshaft (current optimizing JIT - the current default)
>>>>>>>> --crankshaft (new optimizing JIT - the soon to be default)
>>>>>>>> --always-full-compiler (base/non-optimizing compiler)
>>
>>>>>>>> Going forward using --crankshaft on a non ARMv7+VFP device will have
>>>>> no
>>>>>>>> effect and execution will fallback to --always-full-compiler.
>>
>>>>>>>> Regards,

>>>>>>>> S锟絩en

Søren Gjesse

unread,
Apr 5, 2011, 5:31:22 AM4/5/11
to v8-u...@googlegroups.com, Arun M
Crankshaft has been the default for V8 on both ARM and x64 starting from version 3.2.0. When you run the browser on the ARM machine what is shown for about:version? You could try to pass these

  --js-flags="--crankshaft"
  --js-flags="--nocrankshaft"
  --js-flags="--always-full-compiler"

And see what differences you observe.

Regards,
Søren

Arun M

unread,
Apr 6, 2011, 3:00:27 AM4/6/11
to v8-users
Hi Victor

Will this method of detecting VFPv3 work in chromium browser when
sandbox is enabled?
Will browser sandbox allow to fopen "/proc/cpuinfo" file?

Arun

On Apr 4, 6:19 pm, Víctor M. Jáquez L. <vjaq...@igalia.com> wrote:
> On Mon, Apr 04, 2011 at 09:45:52AM +0100, Alexandre Rames wrote:
> > Hello Arun,
>
> > Crankshaft is now enabled by default on ARM processors supporting VFPv3.
> > v8 does not use NEON (it is not worth using, at least currently), but I
> > believe no processors with this configuration (NEON without VFPv3) exist
> > anyway. So if the CPU feature detection work correctly, v8 should assume
> > that you have VFPv3 if it detects NEON, and thus use use Crankshaft.
>
> > If I remember correctly there has been some issues with incorrect feature
> > detection. A simple run of the v8 benchmarks with the latest bleeding_edge
> > and the frequency of your CPU should be enough to determine if crankshaft is
> > enabled.
>
> The CPU features detection is done parsing the /proc/cpuinfo file:
>
> https://code.google.com/p/v8/source/browse/branches/bleeding_edge/src...
>
> So, if your cpu information is not exposed correctly the detection will fail.
>
> I'd never seen an ARM with NEON but without VFPv3.
>
> vmjl
>
>
>
>
>
>
>
>
>
> > I hope this helps.
>
> > Regards,
>
> > Alexandre
>
> > On Sat, Apr 2, 2011 at 7:40 AM, Arun M <arunm.chr...@gmail.com> wrote:
>
> > > Hi
>
> > > Is Crankshaft optimizing compiler enabled for ARMv7-A + NEON devices
> > > which does not have VFPv3 FPU?
>
> > > Thanks & Regards
> > > Arun
>
> > > On Mar 9, 6:02 pm, S�ren Gjesse <sgje...@chromium.org> wrote:
> > > > For ARM crankshaft is now the default. This change is in the repository
> > > > starting from V8 version 3.2. To use the previous optimizing compiler
> > > > --nocrankshaft will have to be used. When crankshaft for ARM has been
> > > fully
> > > > stabilized the previous optimizing compiler will be removed from the
> > > > repository and running with --nocrankshaft will no longer be possible.
> > > There
> > > > is no specific date to when this will happen but most likely it will be
> > > > within a month or two. The removal of the previous optimizing compiler
> > > will
> > > > happen for all supported platforms simultaneously,
>
> > > > The previous optimizing compiler can of cause still be found in previous
> > > > versions of V8.
>
> > > > Regards,
> > > > S�ren
>
> > > > On Tue, Mar 8, 2011 at 20:05, Hugo Vincent <hugo.vinc...@gmail.com>
> > > wrote:
> > > > > How much slower is full-compiler than nocrankshaft on ARM926ej-s -
> > > > > anyone have any benchmarks? I'm hesitant to invest time in using V8
> > > > > for my project if it's going to get substantially slower soon. Is
> > > > > there any estimated time frame for when nocrankshaft will be
> > > > > deprecated?
>
> > > > > Thanks,
> > > > > Hugo
>
> > > > > On Feb 23, 9:14 pm, S�ren Gjesse <sgje...@chromium.org> wrote:
> > > > > > Just a follow-up note regarding the new optimizing compiler
> > > (crankshaft).
> > > > > > This will be enabled by default for ARM quite soon, and the existing
> > > > > > optimizing compiler will be removed at some point. For non ARMv7+VFP
> > > > > devices
> > > > > > this means that the base JIT (non-optimizing/full-compiler) will be
> > > used.
> > > > > To
> > > > > > measure the different compilers on a ARMv7+VFP device use following
> > > > > options:
>
> > > > > >   --nocrankshaft (current optimizing JIT - the current default)
> > > > > >   --crankshaft (new optimizing JIT - the soon to be default)
> > > > > >   --always-full-compiler (base/non-optimizing compiler)
>
> > > > > > Going forward using --crankshaft on a non ARMv7+VFP device will have
> > > no
> > > > > > effect and execution will fallback to --always-full-compiler.
>
> > > > > > Regards,
> > > > > > S�ren

Víctor M. Jáquez L.

unread,
Apr 6, 2011, 4:47:34 AM4/6/11
to v8-u...@googlegroups.com
On Wed, Apr 06, 2011 at 12:00:27AM -0700, Arun M wrote:
> Hi Victor
>
> Will this method of detecting VFPv3 work in chromium browser when
> sandbox is enabled?
> Will browser sandbox allow to fopen "/proc/cpuinfo" file?

Sorry Arun, I don't know. I'm not familiar with chrome in general.

vmjl

>
> Arun


>
> On Apr 4, 6:19�pm, V�ctor M. J�quez L. <vjaq...@igalia.com> wrote:
> > On Mon, Apr 04, 2011 at 09:45:52AM +0100, Alexandre Rames wrote:
> > > Hello Arun,
> >

> > > Crankshaft is now enabled by default on ARM processors supporting VFPv3..


> > > v8 does not use NEON (it is not worth using, at least currently), but I
> > > believe no processors with this configuration (NEON without VFPv3) exist
> > > anyway. So if the CPU feature detection work correctly, v8 should assume
> > > that you have VFPv3 if it detects NEON, and thus use use Crankshaft.
> >
> > > If I remember correctly there has been some issues with incorrect feature
> > > detection. A simple run of the v8 benchmarks with the latest bleeding_edge
> > > and the frequency of your CPU should be enough to determine if crankshaft is
> > > enabled.
> >
> > The CPU features detection is done parsing the /proc/cpuinfo file:
> >
> > https://code.google.com/p/v8/source/browse/branches/bleeding_edge/src...
> >
> > So, if your cpu information is not exposed correctly the detection will fail.
> >
> > I'd never seen an ARM with NEON but without VFPv3.
> >
> > vmjl
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > > I hope this helps.
> >
> > > Regards,
> >
> > > Alexandre
> >
> > > On Sat, Apr 2, 2011 at 7:40 AM, Arun M <arunm.chr...@gmail.com> wrote:
> >
> > > > Hi
> >
> > > > Is Crankshaft optimizing compiler enabled for ARMv7-A + NEON devices
> > > > which does not have VFPv3 FPU?
> >
> > > > Thanks & Regards
> > > > Arun
> >

> > > > On Mar 9, 6:02 pm, S�ren Gjesse <sgje...@chromium.org> wrote:
> > > > > For ARM crankshaft is now the default. This change is in the repository
> > > > > starting from V8 version 3.2. To use the previous optimizing compiler
> > > > > --nocrankshaft will have to be used. When crankshaft for ARM has been
> > > > fully
> > > > > stabilized the previous optimizing compiler will be removed from the
> > > > > repository and running with --nocrankshaft will no longer be possible.
> > > > There
> > > > > is no specific date to when this will happen but most likely it will be
> > > > > within a month or two. The removal of the previous optimizing compiler
> > > > will
> > > > > happen for all supported platforms simultaneously,
> >
> > > > > The previous optimizing compiler can of cause still be found in previous
> > > > > versions of V8.
> >
> > > > > Regards,

> > > > > S�ren


> >
> > > > > On Tue, Mar 8, 2011 at 20:05, Hugo Vincent <hugo.vinc...@gmail.com>
> > > > wrote:
> > > > > > How much slower is full-compiler than nocrankshaft on ARM926ej-s -
> > > > > > anyone have any benchmarks? I'm hesitant to invest time in using V8
> > > > > > for my project if it's going to get substantially slower soon. Is
> > > > > > there any estimated time frame for when nocrankshaft will be
> > > > > > deprecated?
> >
> > > > > > Thanks,
> > > > > > Hugo
> >

> > > > > > On Feb 23, 9:14 pm, S�ren Gjesse <sgje...@chromium.org> wrote:
> > > > > > > Just a follow-up note regarding the new optimizing compiler
> > > > (crankshaft).
> > > > > > > This will be enabled by default for ARM quite soon, and the existing
> > > > > > > optimizing compiler will be removed at some point. For non ARMv7+VFP
> > > > > > devices
> > > > > > > this means that the base JIT (non-optimizing/full-compiler) will be
> > > > used.
> > > > > > To
> > > > > > > measure the different compilers on a ARMv7+VFP device use following
> > > > > > options:
> >
> > > > > > > � --nocrankshaft (current optimizing JIT - the current default)
> > > > > > > � --crankshaft (new optimizing JIT - the soon to be default)
> > > > > > > � --always-full-compiler (base/non-optimizing compiler)
> >
> > > > > > > Going forward using --crankshaft on a non ARMv7+VFP device will have
> > > > no
> > > > > > > effect and execution will fallback to --always-full-compiler.
> >
> > > > > > > Regards,

> > > > > > > S�ren

Rodolph Perfetta

unread,
Apr 6, 2011, 5:31:47 AM4/6/11
to v8-u...@googlegroups.com
Arun,

Have you tried running Chrome with the options Soren mentioned? The result should tell you if crankshaft is enabled or not.

Rodolph.

2011/4/6 Víctor M. Jáquez L. <vja...@igalia.com>
On Wed, Apr 06, 2011 at 12:00:27AM -0700, Arun M wrote:
> Hi Victor
>
> Will this method of detecting VFPv3 work in chromium browser when
> sandbox is enabled?
> Will browser sandbox allow to fopen "/proc/cpuinfo" file?

Sorry Arun, I don't know. I'm not familiar with chrome in general.

vmjl

>
> Arun
> > > > > S�ren
> > > > > > > S�ren

Arun M

unread,
Apr 6, 2011, 9:25:46 PM4/6/11
to v8-users
Hi

I ran with --js-flags="--crankshaft" and --js-flags="--nocrankshaft"
options.
But the V8 scores are nearly same.

V8::DisableCrankshaft() function is called from cpu-arm.cc.
I think Chromium is not able to parse /proc/cpuinfo file and get VFPv3
information.

Arun

On Apr 6, 6:31 pm, Rodolph Perfetta <rodolph.perfe...@gmail.com>
wrote:
> Arun,
>
> Have you tried running Chrome with the options Soren mentioned? The result
> should tell you if crankshaft is enabled or not.
>
> Rodolph.
>
> 2011/4/6 Víctor M. Jáquez L. <vjaq...@igalia.com>

Søren Gjesse

unread,
Apr 7, 2011, 3:22:06 AM4/7/11
to v8-u...@googlegroups.com, Arun M
Arun,

These are interesting experiments, and it would be great to get ot the bottom of this.

I assume that /proc/cpuinfo contains the strings "ARMv7" and "vfpv3", as that is the exact strings which are checked for. You could also try to run chrome with the --no-sandbox option to see whether that makes a diffrence. V8 has a number of options which can be used to trace the optimizations performed by crankshaft, try --js-flags="--trace-opt --trace-deopt --trace-osr --trace-bailout" for the full monty.

If you know that VFPv3 is available you could try to hack the CPU detection in OS:::ArmCpuHasFeature (platform-linux.cc) always return true for VFP3.

Regards,
Søren

Arun M

unread,
Apr 13, 2011, 1:24:50 AM4/13/11
to v8-users
Hi

I tried all options.
When i disable sandbox or hack the CPU detection
in OS:::ArmCpuHasFeature and run v8 benchmark,
the browser tab crashes.
I am trying to find the issue.

Regards
Arun

Rodolph Perfetta

unread,
Apr 13, 2011, 3:46:30 AM4/13/11
to v8-u...@googlegroups.com
Which platform are you running on? Do you know which CPU? (maybe send your /proc/cpuinfo)

Rodolph.

Arun M

unread,
Apr 27, 2011, 5:23:11 AM4/27/11
to v8-users
Hi

I updated the chromium browser version to 12.0.742.0.
V8 score has almost doubled after the hack in OS:::ArmCpuHasFeature.

Thanks & Regards
Arun


On Apr 13, 4:46 pm, Rodolph Perfetta <rodolph.perfe...@gmail.com>
wrote:
> Which platform are you running on? Do you know which CPU? (maybe send your
> /proc/cpuinfo)
>
> Rodolph.
>
> ...
>
> read more »

Søren Gjesse

unread,
Apr 27, 2011, 5:42:39 AM4/27/11
to v8-u...@googlegroups.com
Thank you for the feedback. It is great to hear that you now get the performance benefit of V8 Crankshaft on ARM. We are working on a better way of detecting VFPv3 to correctly enable Crankshaft.

Regards,
Søren
Reply all
Reply to author
Forward
0 new messages