ついにねんがんの git をてにいれたぞ!

git環境を構築したのでrhinoをforkした。
とりあえず日本語リソース追加はorigin/masterにpushしておいたけど本家はPRの処理すら滞ってるのでPRは出していない。
JConsoleがASCII以外を扱えない部分は修正したがcommonjsの同様の内容については問題の規模の割に深い部分を変更しなければならないためgithubの方にはpushしてない。
そもそもmoduleが使えるようになったら意味がなくなるかもしれないのでpushしないことにしておく。ほかにもshellのGlobalオブジェクトのload関数がコンパイル済みのjsを読み込める変更とかもあるがpushしてない。

それで日本語化されたrhinoはここにある。

いまは本家のmasterにmergeされていないinvokedynamic branchをこっちでマージしている最中なのだが、如何せんRhinoにはそんなことの前にやらなければいけないことが沢山ある。
当然invokedynamic自身がコードの速度アップに直接的に繋がるわけではないのでそれ以外の部分でチューニングする必要もあるしrhinoはjava1.1から続く古いコードなので何かを追加する前にどうしてもコードの整理が必要になる。とくにjava8以降コンパイラが6未満をサポートしなくなるのでそれに追従するに越したことはない。その他にも色々あるので本命のinvokedynamicはなかなか手を付けられないでいる。

コンパイラももっと効率のいいバイトコード生成をするように手を加えなければならないしツール群ももっと使いやすいものに更新したい。