2013年6月2日

harmony:spread (4)

とりあえずパッチは投げたけど色々調べてると結局 JSVAL_TYPE_MAGIC をフラグに使った方がいいんじゃないかとかオペコード追加する方がいいんじゃないかとか。

で、両方作ってみたところオペコード追加するのが一番パフォーマンスも良いし既存部分を壊す事も少ない。
既存のオペコードの動作をフラグで変えるとなると、そのオペコードの実装全部 (インタープリタ、Baseline、Ion) を気にしないといけないんだけど、新しいオペコードを追加するならとりあえずインタープリタだけ実装しておけば JIT の方は未対応って事でコンパイル中断して無視してくれる。

もうちょっとテストしてからオペコード追加版のパッチも投げてみようかしら。

あと、そもそも関連する箇所周辺しかコードを見てないので、実行の全体像を把握する事も必要。インタープリタ部分は自分でも何度か作ってるから、単純な部分は分かるんだけど、型推論とか色々な最適化とかはよく知らないし、まして JIT は触った事ないからよく調べないと手も足も出ないのだ。

0 件のコメント:

コメントを投稿