Fork me on GitHub

RiverTrail by Mozilla Progress Part 1

My Minor Project for college is based on the Rivertrail implementation by Mozilla Research. Since I have failed to show much progress, I will be logging everything on my blog (hopefully). I'm attempting to play around with a modified SpiderMonkey JS Engine. I know this might all fail since I always find it difficult to take out time from college and my other side projects. I'm fascinated by compilers and following the Coursera compilers class as well as college compilers (which is always way ahead of Coursera but not as detailed) is taking away a lot of my time. [What have I already done?] With a lot of help, I have a working copy of Mozilla Rivertrail running on my computer.

Installing Rivertrail

Here's a little about my system. Intel i5 2500K, 6 GB RAM clocked at 1333 Hz, AMD Radeon 6850 ( using fglrx ). I complete a fresh build of Nightly in 20 minutes iirc.

uname -a
Linux DarkMatter 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23
UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Step 1

Clone Repository The repository is at:

hg clone

Step 2

Build NSPR (Netscape Portable Runtime): use the exact instructions at: ( using flags --disable-debug --enable-optimize --enable-64bit ) To build the shell, I followed the instructions at: Important! Use ../configure --enable-debug --disable-optimize --with-system-nspr --enable-threadsafe Hints: Use 'ldd' to identify which version of nspr is being used.

Pending Work

  1. Figure out how to check if we have Rivertrail enabled in Firefox.
  2. Make a basic demo application
  3. Begin Work on Mandelbrot.js

Using the following command to capture time for logs:

date | xclip -selection clipboard

Having Yakuake makes it easy to use such commands quickly.   == Some build Issues ==

In file included from /home/spacetime/Development/mozilla/iontrail/js/src/jslock.h:13:0,
 from /home/spacetime/Development/mozilla/iontrail/js/src/jsatom.h:19,
 from /home/spacetime/Development/mozilla/iontrail/js/src/jscntxt.h:20,
 from /home/spacetime/Development/mozilla/iontrail/js/src/jsalloc.cpp:9:
 ./dist/system_wrappers_js/pratom.h:3:25: fatal error: pratom.h: No such file or directory
 compilation terminated.
 make[1]: *** [jsalloc.o] Error 1
 make[1]: Leaving directory `/home/spacetime/Development/mozilla/iontrail/js/src/build-release'
 make: *** [default] Error 2

Solution: The error for pratom.h is due to NSPR. Build nspr from the tree. And configure SpiderMonkey again. Should fix it. If it doesn't try the suggestions on the SpiderMonkey build page.

Comments !