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.
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
Clone Repository The repository is at: http://hg.mozilla.org/users/shu_rfrn.org/iontrail
hg clone http://hg.mozilla.org/users/shu_rfrn.org/iontrail
Build NSPR (Netscape Portable Runtime): use the exact instructions at: https://developer.mozilla.org/en-US/docs/NSPR_build_instructions ( using flags --disable-debug --enable-optimize --enable-64bit ) To build the shell, I followed the instructions at: https://developer.mozilla.org/En/SpiderMonkey/Build_Documentation Important! Use ../configure --enable-debug --disable-optimize --with-system-nspr --enable-threadsafe Hints: Use 'ldd' to identify which version of nspr is being used.
- Figure out how to check if we have Rivertrail enabled in Firefox.
- Make a basic demo application
- 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: *** [jsalloc.o] Error 1 make: 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.