Did you hear the news?¬† Recently, Node.js moved to open governance. I’m glad to be a contributing member of the open technical community and thought I would take this opportunity to introduce folks to some of the work my colleagues and I¬† have been contributing.

Past experience shows that an open foundation accelerates community expansion and adoption and a key element of that for a runtime is broad platform support.  Node has a number of dependencies.  The largest and hardest to port being V8.  V8 is the core JavaScript engine used within Node as well as being used in other open source projects like MongoDB.

When porting other dependencies it may be as easy as getting the right compiler options/defines but for V8 you have to write net new code which understands the instruction set used by the platform. This is not for the faint at heart!

Last year we ported V8 to pLinux(PowerPC) , zLinux (s390) and AIX (PowerPC) and made them publicly available on github here:  https://github.com/andrewlow/v8ppc and here https://github.com/andrewlow/v8z/.  We also incorporated them into Node and made downloads available supporting pLinux, zLinux and AIX (see https://nodejs.org/download/) as well as making the source available on github here: https://github.com/andrewlow/node.

Porting V8 to the new platforms and making Node builds available, however, was only the first step.  We want all of the changes for the ports integrated into the upstream projects.   This will ensure that the ports are broadly available and easy to consume.

Since the beginning of this year, Matt Brandyberry and myself have been working to contribute the PowerPC changes back to the Google repositories.¬† I’m happy to report that as of the 4.3 release of V8, which is the current stable release, V8 can be fully compiled and built for PPC directly from the Google repos and is tested as part of the Google beta and stable builds (see the right most ovals in http://build.chromium.org/p/client.v8.branches/console¬† which are the PowerPC buildbots) . Progress!

Building on this milestone, the team is working hard to bring our zLinux ports up to date with master so that we can start contributing those changes back as well.  At the same time, we also look forward to when the community Node release will consume V8 4.3 or later.  We are also actively working with early community versions  (io.js vNext) which have already moved up to this level to bring builds supporting PowerPC on-line.

If you want to read more or have questions feel free to visit the IBM SDK for Node.js community here: https://www.ibm.com/developerworks/community/groups/community/node.

Even better, if  you have mad skillz or just want to learn about processors, code generation, garbage collection, operating systems, aysnc systems and building high a performance JavaScript platform come join us either by contributing to the V8 ports or joining the Node.js Foundation technical community (https://github.com/nodejs). Contributors welcome  !

1 comment on"PPC support for Google V8 goes mainstream"

  1. […] from developerWorks version 4.0 of Node includes the 4.5 level of V8 which as mentioned in my previous blog supports PPC. In addition, we’ve incorporated the changes from our repositories into the […]

Join The Discussion

Your email address will not be published. Required fields are marked *