Perlゼミ はてな出張所

Perlゼミのはてな出張所。Perlイベントなどの紹介

インライン展開完了 - SPVM開発日記

以下のインライン展開ができるようになった。

  • rw,ro,woで定義されたフィールドアクセッサ
  • rw,ro,woで定義されたパッケージ変数のアクセッサ
  • 定数ひとつを返すサブルーチン
  • 「new パッケージ名」だけをreturnする単純なコンストラク

これで、アクセッサを使ったり、単純にnewするときの、パフォーマンスコストがなくなった。

また、定数を、サブルーチンで定義できて、パフォーマンスコストがなくなった。

Javaでは、finalを使って定数を表現するが、SPVMでは、サブルーチンを使って、定数を表現する。

package Foo {
  # 定数定義
  sub constant_int : int () {
    return 5;
  }
}