仮想マシン 
構成 
- 1つのScriptVM
- 1つ以上のScriptContext
ScriptVM 
- 仮想マシン。
- コンパイル済みの命令コード,ユーザー定義型の初期化データ(.init)を持つ。
- staticなデータはこいつが持ち,複数のContextで共有することになる。
ScriptContext 
- コンテキスト。スレッド。
- スタック,レジスタは各ScriptContextがそれぞれ持つ。
ScriptVMのセットアップ 
- セットアップ前準備
- コンパイル済みのスクリプトコードの追加。
- 関数,クラス類,変数類のC++とのバインド。
- セットアップ
- 未解決シンボルのチェック。
- staticデータに.initデータをコピー。
- 各クラスのstaticコンストラクタを呼び出す。
|