changeset 106:e3c459b29e98

update
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Tue, 19 Feb 2019 17:39:50 +0900
parents 1a0210c2814b
children eaa12816b3e3
files presen/slide.html presen/slide.md presen/slide.pdf presen/slide.pdf.html
diffstat 4 files changed, 38 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/presen/slide.html	Tue Feb 19 17:26:03 2019 +0900
+++ b/presen/slide.html	Tue Feb 19 17:39:50 2019 +0900
@@ -256,10 +256,24 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
+<h2 id="mvm_interp_runの内部処理">MVM_interp_runの内部処理</h2>
+
+<ul>
+  <li>MoarVMは関数 <code>MVM_interp_run</code> でバイトコードに応じた処理を実行する</li>
+  <li>gccやclangを利用してコンパイルした場合、 ラベルgotoで命令ディスパッチが実行される</li>
+</ul>
+
+&lt;img src=”fig/origin_label_goto.svg” width=”30%” text-align:center;padding-left: 300px;&gt;
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
 <h2 id="moarvmのバイトコードインタプリタ-1">MoarVMのバイトコードインタプリタ</h2>
 
 <ul>
-  <li>MoarVMは関数 <code>MVM_interp_run</code> でバイトコードに応じた処理を実行する</li>
   <li>マクロDISPATCHで, ラベルgotoかcase文に変換が行われる
     <ul>
       <li>バイトコードは数値として見る事が出来る為、 case文に対応する事が出来る</li>
--- a/presen/slide.md	Tue Feb 19 17:26:03 2019 +0900
+++ b/presen/slide.md	Tue Feb 19 17:39:50 2019 +0900
@@ -93,9 +93,15 @@
     - その処理を実行する
 - この処理をバイトコードディスパッチと呼び、 実行する部分をバイトコードインタプリタと呼ぶ
 
+## MVM_interp_runの内部処理
+
+- MoarVMは関数 `MVM_interp_run` でバイトコードに応じた処理を実行する
+- gccやclangを利用してコンパイルした場合、 ラベルgotoで命令ディスパッチが実行される
+
+<img src="fig/origin_label_goto.svg" width="30%" text-align:center;padding-left: 300px;>
+
 ## MoarVMのバイトコードインタプリタ
 
-- MoarVMは関数 `MVM_interp_run` でバイトコードに応じた処理を実行する
 - マクロDISPATCHで, ラベルgotoかcase文に変換が行われる
     - バイトコードは数値として見る事が出来る為、 case文に対応する事が出来る
     - この中の `OP` で宣言されたブロックがそれぞれバイトコードに対応する処理となっている.
@@ -111,6 +117,7 @@
 
 ```
 
+
 ## MVM_interp_runで使用されているマクロ
 
 ```
Binary file presen/slide.pdf has changed
--- a/presen/slide.pdf.html	Tue Feb 19 17:26:03 2019 +0900
+++ b/presen/slide.pdf.html	Tue Feb 19 17:39:50 2019 +0900
@@ -240,10 +240,24 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
+<h2 id="mvm_interp_runの内部処理">MVM_interp_runの内部処理</h2>
+
+<ul>
+  <li>MoarVMは関数 <code>MVM_interp_run</code> でバイトコードに応じた処理を実行する</li>
+  <li>gccやclangを利用してコンパイルした場合、 ラベルgotoで命令ディスパッチが実行される</li>
+</ul>
+
+<p>&lt;img src=”fig/origin_label_goto.svg” width=”30%” text-align:center;padding-left: 300px;&gt;</p>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
 <h2 id="moarvmのバイトコードインタプリタ-1">MoarVMのバイトコードインタプリタ</h2>
 
 <ul>
-  <li>MoarVMは関数 <code>MVM_interp_run</code> でバイトコードに応じた処理を実行する</li>
   <li>マクロDISPATCHで, ラベルgotoかcase文に変換が行われる
     <ul>
       <li>バイトコードは数値として見る事が出来る為、 case文に対応する事が出来る</li>