question about CrankShaft soft-float support

21 views
Skip to first unread message

Jiong Wang

unread,
Jul 21, 2013, 10:13:30 PM7/21/13
to v8-...@googlegroups.com
Hi All,

  Currently I am porting v8 to a new processor which don't have hardware FPU, and my questions are:

   *  Is it possible to support base-line compiler only?
      I want to enable base-line compiler support first, then CrankShaft.
      But looks like the two are mixed with each other? I can't run v8 without both ready?

   * Is hardware FPU necessary for CrankShaft?
     I found there once be parial soft-float support on MIPS/ARM backend, but removed several months ago,
     and even those soft-float supports are not complete? So, to enable CrankShaft, the arch needs hardware FPU,
     soft-float support will be hard or impossible?

   thanks

---
Regards,
Jiong

Jakob Kummerow

unread,
Jul 22, 2013, 4:38:15 AM7/22/13
to v8-...@googlegroups.com
Hi Jiong,

On Mon, Jul 22, 2013 at 4:13 AM, Jiong Wang <wong.kw...@gmail.com> wrote:
Hi All,

  Currently I am porting v8 to a new processor which don't have hardware FPU, and my questions are:

   *  Is it possible to support base-line compiler only?
      I want to enable base-line compiler support first, then CrankShaft.
      But looks like the two are mixed with each other? I can't run v8 without both ready?

It used to be possible to run V8 without implementing Crankshaft, but since a couple of versions we're using the Crankshaft infrastructure to compile code stubs that the baseline-compiled code uses. Which means that you indeed need to port at least some (growing) subset of the Lithium backend to your new platform.

   * Is hardware FPU necessary for CrankShaft?
     I found there once be parial soft-float support on MIPS/ARM backend, but removed several months ago,
     and even those soft-float supports are not complete? So, to enable CrankShaft, the arch needs hardware FPU,
     soft-float support will be hard or impossible?

There is no requirement to have a hardware FPU for Crankshaft. You'll just have to implement your own replacements for floating-point operations (or call a system library, or whatever). JavaScript heavily relies on Double arithmetic, so there's no way around supporting those operations in some way.

The non-VFP ARM code was complete, as far as I know.

Cheers,
Jakob


WANG.Jiong

unread,
Jul 22, 2013, 4:52:15 AM7/22/13
to Jakob Kummerow, v8-...@googlegroups.com
Hi Jakob,


On 07/22/2013 04:38 PM, Jakob Kummerow wrote:
Hi Jiong,

On Mon, Jul 22, 2013 at 4:13 AM, Jiong Wang <wong.kw...@gmail.com> wrote:
Hi All,

  Currently I am porting v8 to a new processor which don't have hardware FPU, and my questions are:

   *  Is it possible to support base-line compiler only?
      I want to enable base-line compiler support first, then CrankShaft.
      But looks like the two are mixed with each other? I can't run v8 without both ready?

It used to be possible to run V8 without implementing Crankshaft, but since a couple of versions we're using the Crankshaft infrastructure to compile code stubs that the baseline-compiled code uses. Which means that you indeed need to port at least some (growing) subset of the Lithium backend to your new platform.

    thanks for your clarification, then my workload will be doubled :)
    (actually, my port has run to FastCloneShallowArrayStub, then it trigger Crankshaft.)



   * Is hardware FPU necessary for CrankShaft?
     I found there once be parial soft-float support on MIPS/ARM backend, but removed several months ago,
     and even those soft-float supports are not complete? So, to enable CrankShaft, the arch needs hardware FPU,
     soft-float support will be hard or impossible?

There is no requirement to have a hardware FPU for Crankshaft. You'll just have to implement your own replacements for floating-point operations (or call a system library, or whatever). JavaScript heavily relies on Double arithmetic, so there's no way around supporting those operations in some way.

The non-VFP ARM code was complete, as far as I know.

      thanks very much, I will study related code/commits.

Regards,
Jiong


Cheers,
Jakob


--
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to a topic in the Google Groups "v8-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/v8-dev/nIMWzmj4ccw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to v8-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 


Reply all
Reply to author
Forward
0 new messages