SpiderMonkey を試しに拡張してみた

patch をつくったので、試したい人は以下の操作をしてください。

Mozilla プロジェクトのページから js-1.7.0.tar.gz をダウンロードして展開したあと、この diff ファイルを patch します。

$ tar zxf js-1.7.0.tar.gz
$ cp jsx_20081101_1610.diff js
$ cd js
$ patch -p0 < jsx_20081101_1610.diff

patch をあてたら、make します。

$ cd src
$ make -f Makefile.ref

make が終わると、./Darwin_DBG.OBJ に jsx という実行ファイルができます。(Linux の場合、Linux_All_DBG.OBJ かな)
実行すると、こんな感じでシェルが起動します。

$ ./Darwin_DBG.OBJ/jsx
jsx>

僕が試しに拡張定義した Hoge オブジェクトを new して、fuga メソッドを呼んでみます。こんな感じになります。

jsx> var hoge = new Hoge();
jsx> hoge.fuga();
fuga!!!