page0097
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* vm-m32について
-(by [[K]], 2014.07.02)
** (0)
-osecpu115dより、vm-m32というVMが提供されました。これに関...
** (1)
-もしVMが内部で何をやっているのか知りたい、OSECPU-VMのソ...
~
-b32形式というのは、通常のOSECPU-VMのバックエンドコード仕...
--[[page0091]]のフォーマットでバイナリを記述する。
--typで使えるのは、T_SINT32、T_VPTR、T_FLOT32のみ。
--bitは32以下。
-この制約を一つでも満たさない場合は、b32形式のヘッダを付...
-この制約はかなりきついと思われるかもしれませんが、実はそ...
--prompt>osecpu -b app.ose app.beb
--prompt>osectols tool:b32 in:app.beb out:app.b32
--これでapp.oseはb32形式に変換できます。
-ちなみにb32形式もbeb(バックエンドバイナリ)形式もどちら...
~
-そしてb32形式のみに限って実行できるVMが、vm-m32なのです。
-さらにvm-m32はセキュリティチェックやデバッグ機能などがす...
-その分だけソースは簡潔になり、ソースを読むには最適だと思...
-もし必要なら、これで読みなれてから、通常版のソースを読む...
--でもそもそも読む必要はないかも。
--というのは、将来的には、上記の変換処理を全部OSECPU-VMア...
** (2)
-vm-m32のソースの読み方のヒントです。
--事実上のmain関数は、api.cのOsecpuMain()です。
--実行は以下のような流れになっています。
---初期化
---アプリケーションファイルをa32buf[]に読み込む
---a32buf[]をjitcAll()して、内部形式j32buf[]に変換する
---j32buf[]をexecAll()する、これで実際にインタプリタ実行...
--jitcAll()は1命令ずつjitcStep()を呼び出します。execAll()...
--どの関数がどのソースにあるのかは、osecpu-vm.hをみればす...
--jitcStepはjitcStepInteger()やjitcStepPointer()などを全...
---execStep()も基本的に同じ構成です。
** (3)
-OSECPU-VM(rev2)は多様なフォーマットを許していて、それ...
--そしてそれにもかかわらず、VMは小さい!
* こめんと欄
#comment
終了行:
* vm-m32について
-(by [[K]], 2014.07.02)
** (0)
-osecpu115dより、vm-m32というVMが提供されました。これに関...
** (1)
-もしVMが内部で何をやっているのか知りたい、OSECPU-VMのソ...
~
-b32形式というのは、通常のOSECPU-VMのバックエンドコード仕...
--[[page0091]]のフォーマットでバイナリを記述する。
--typで使えるのは、T_SINT32、T_VPTR、T_FLOT32のみ。
--bitは32以下。
-この制約を一つでも満たさない場合は、b32形式のヘッダを付...
-この制約はかなりきついと思われるかもしれませんが、実はそ...
--prompt>osecpu -b app.ose app.beb
--prompt>osectols tool:b32 in:app.beb out:app.b32
--これでapp.oseはb32形式に変換できます。
-ちなみにb32形式もbeb(バックエンドバイナリ)形式もどちら...
~
-そしてb32形式のみに限って実行できるVMが、vm-m32なのです。
-さらにvm-m32はセキュリティチェックやデバッグ機能などがす...
-その分だけソースは簡潔になり、ソースを読むには最適だと思...
-もし必要なら、これで読みなれてから、通常版のソースを読む...
--でもそもそも読む必要はないかも。
--というのは、将来的には、上記の変換処理を全部OSECPU-VMア...
** (2)
-vm-m32のソースの読み方のヒントです。
--事実上のmain関数は、api.cのOsecpuMain()です。
--実行は以下のような流れになっています。
---初期化
---アプリケーションファイルをa32buf[]に読み込む
---a32buf[]をjitcAll()して、内部形式j32buf[]に変換する
---j32buf[]をexecAll()する、これで実際にインタプリタ実行...
--jitcAll()は1命令ずつjitcStep()を呼び出します。execAll()...
--どの関数がどのソースにあるのかは、osecpu-vm.hをみればす...
--jitcStepはjitcStepInteger()やjitcStepPointer()などを全...
---execStep()も基本的に同じ構成です。
** (3)
-OSECPU-VM(rev2)は多様なフォーマットを許していて、それ...
--そしてそれにもかかわらず、VMは小さい!
* こめんと欄
#comment
ページ名: