Mercurial > hg > Papers > 2019 > anatofuz-prosym
annotate mindmap.mm @ 78:6656f4c3dfa0
update
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 29 Nov 2018 17:35:18 +0900 |
parents | 8e80522a88bd |
children |
rev | line source |
---|---|
7 | 1 <map version="1.0.1"> |
2 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> | |
3 <node CREATED="1541413621221" ID="ID_1078505079" MODIFIED="1541414015371" TEXT="CbCを用いたPerl6処理系"> | |
4 <font NAME="SansSerif" SIZE="12"/> | |
5 <node CREATED="1541413945985" ID="ID_742780718" MODIFIED="1541413951982" POSITION="right" TEXT="Perl6"> | |
6 <node CREATED="1541413961044" ID="ID_90704771" MODIFIED="1541413963196" TEXT="Rakudo"> | |
7 <node CREATED="1541413965243" ID="ID_29989589" MODIFIED="1541413967817" TEXT="NQP"/> | |
8 <node CREATED="1541413968930" ID="ID_857566655" MODIFIED="1541413971817" TEXT="MoarVM"/> | |
9 <node CREATED="1541415957248" ID="ID_92063059" MODIFIED="1541415962444" TEXT="現状の実行速度"/> | |
10 </node> | |
11 <node CREATED="1541413995166" ID="ID_700487608" MODIFIED="1541413999809" TEXT="Parrot"/> | |
12 </node> | |
13 <node CREATED="1541414029013" ID="ID_379657805" MODIFIED="1541414033382" POSITION="right" TEXT="CbC"> | |
14 <node CREATED="1541414038332" ID="ID_1271482951" MODIFIED="1541414045122" TEXT="Cとの互換性"/> | |
15 <node CREATED="1541414047128" ID="ID_16933733" MODIFIED="1541414053411" TEXT="CodeSegment"/> | |
16 <node CREATED="1541414054620" ID="ID_1935230593" MODIFIED="1541414059146" TEXT="goto Statement"/> | |
17 <node CREATED="1541414062173" ID="ID_7319522" MODIFIED="1541414068087" TEXT="軽量継続"> | |
9
8e80522a88bd
tweek mindmap and wrote table of contents for Paper
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
18 <node CREATED="1541414076519" ID="ID_1442630319" MODIFIED="1541414084987" TEXT="Stackを消費しない"/> |
7 | 19 <node CREATED="1541414137421" ID="ID_1727341369" MODIFIED="1541414185766" TEXT="tail call"/> |
20 </node> | |
21 <node CREATED="1541414147487" ID="ID_1727268527" MODIFIED="1541414152425" TEXT="bug"> | |
22 <node CREATED="1541414158467" ID="ID_1249821290" MODIFIED="1541414178959" TEXT="局所変数のポインタを握ったままgotoするとtail callにならない"/> | |
23 <node CREATED="1541414235688" ID="ID_977169669" MODIFIED="1541414266382" TEXT="MoarVMのGC避けに使われている局所変数のポインタをstaticに直す"/> | |
24 </node> | |
25 <node CREATED="1541414272940" ID="ID_1641303153" MODIFIED="1541414277961" TEXT="実装"> | |
26 <node CREATED="1541414277962" ID="ID_79004341" MODIFIED="1541414288366" TEXT="llvm"/> | |
27 <node CREATED="1541414289013" ID="ID_657741995" MODIFIED="1541414291174" TEXT="gcc"/> | |
28 </node> | |
29 <node CREATED="1541414190173" ID="ID_913160340" MODIFIED="1541414219383" TEXT="CodeSegmentはコンパイラの基本ブロックに相当する"/> | |
30 </node> | |
31 <node CREATED="1541415913985" ID="ID_510826927" MODIFIED="1541415919060" POSITION="right" TEXT="論文"> | |
32 <node CREATED="1541415922393" ID="ID_1598696025" MODIFIED="1541415927716" TEXT="目的"> | |
33 <node CREATED="1541415931413" ID="ID_972620811" MODIFIED="1541415946181" TEXT="Perl6の高速実行"/> | |
34 <node CREATED="1541415976688" ID="ID_22036446" MODIFIED="1541415984500" TEXT="CbCのスクリプト言語への応用"/> | |
35 </node> | |
36 <node CREATED="1541416021669" ID="ID_489168922" MODIFIED="1541416027804" TEXT="CbCの概要"> | |
37 <node CREATED="1541416031396" ID="ID_1551960786" MODIFIED="1541416036012" TEXT="実装状況"/> | |
38 <node CREATED="1541416038164" ID="ID_1438405102" MODIFIED="1541416043156" TEXT="言語の簡単な説明"/> | |
39 </node> | |
40 <node CREATED="1541415929277" ID="ID_1507086124" MODIFIED="1541416010492" TEXT="Perl6の概要"> | |
41 <node CREATED="1541416045236" ID="ID_1302092984" MODIFIED="1541416050622" TEXT="Parrot"/> | |
42 <node CREATED="1541416051219" ID="ID_680216126" MODIFIED="1541416054053" TEXT="Rakudo"/> | |
43 <node CREATED="1541416054289" ID="ID_323375220" MODIFIED="1541416056570" TEXT="NQP"/> | |
44 <node CREATED="1541416057759" ID="ID_9273494" MODIFIED="1541416060990" TEXT="MoarVM"/> | |
45 </node> | |
46 <node CREATED="1541416015337" ID="ID_927499326" MODIFIED="1541416074892" TEXT="CbCによるMoarVMの実装"> | |
47 <node CREATED="1541416084205" ID="ID_1130596189" MODIFIED="1541416092884" TEXT="code segmentテーブル"/> | |
48 <node CREATED="1541416094316" ID="ID_64761982" MODIFIED="1541416105997" TEXT="interp.cからの自動生成"/> | |
49 <node CREATED="1541416130732" ID="ID_1436646867" MODIFIED="1541416135652" TEXT="実装の現状"/> | |
50 <node CREATED="1541416139886" ID="ID_1498135652" MODIFIED="1541416171404" TEXT="MoarVMのデバッグ"/> | |
51 </node> | |
52 <node CREATED="1541416147676" ID="ID_608615655" MODIFIED="1541416177049" TEXT="利点と欠点"/> | |
53 <node CREATED="1541416156012" ID="ID_1715763123" MODIFIED="1541416158741" TEXT="今後の課題"/> | |
54 </node> | |
55 <node CREATED="1541414016260" ID="ID_1263547387" MODIFIED="1541414304201" POSITION="left" TEXT="CbCによるPerl6の実装"> | |
56 <node CREATED="1541414310736" ID="ID_916213000" MODIFIED="1541414324848" TEXT="MoarByteCodeのディスパッチ"> | |
57 <node CREATED="1541414343377" ID="ID_1794960109" MODIFIED="1541414354624" TEXT="巨大なcase文"/> | |
58 <node CREATED="1541414356784" ID="ID_726201724" MODIFIED="1541414379957" TEXT="LABELのテーブル"/> | |
59 <node CREATED="1541414386844" ID="ID_306559572" MODIFIED="1541414404496" TEXT=" CbCのCodeSegmentのテーブル"/> | |
60 </node> | |
61 <node CREATED="1541414842014" ID="ID_567740484" MODIFIED="1541414861047" TEXT="bytecodeに対応するcode segment"> | |
62 <node CREATED="1541414865747" ID="ID_814602879" MODIFIED="1541414883520" TEXT="インタプリタの状態を格納する構造体"> | |
63 <node CREATED="1541414896442" ID="ID_1422656613" MODIFIED="1541414902097" TEXT="それへのポインタ"/> | |
64 <node CREATED="1541414904745" ID="ID_1264721395" MODIFIED="1541414912409" TEXT="レジスタへマッピング"/> | |
65 </node> | |
66 <node CREATED="1541415436644" ID="ID_314825177" MODIFIED="1541415467419" TEXT="gears osのinterfaceは使用していない"/> | |
9
8e80522a88bd
tweek mindmap and wrote table of contents for Paper
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
67 <node CREATED="1541415024122" ID="ID_330058705" MODIFIED="1541415048113" TEXT="cbcのcode segmentの入力引数を使ってレジスタマッピングを管理できる"/> |
7 | 68 </node> |
69 <node CREATED="1541414341726" ID="ID_1487177431" MODIFIED="1541414417373" TEXT="Threaded Code"> | |
70 <node CREATED="1541414423299" ID="ID_836473525" MODIFIED="1541414431718" TEXT="Perlcc"/> | |
71 <node CREATED="1541414435571" ID="ID_1940825883" MODIFIED="1541414453032" TEXT="bytecode列をサブルーチンコールの列に置き換える"/> | |
72 </node> | |
73 <node CREATED="1541414433507" ID="ID_1575864514" MODIFIED="1541414483864" TEXT="CbCでのThreadec Codeの実装"> | |
74 <node CREATED="1541414488865" ID="ID_1461050025" MODIFIED="1541414496894" TEXT="cbc_next"/> | |
75 <node CREATED="1541414498214" ID="ID_195610964" MODIFIED="1541414504070" TEXT="cbc_fixt_next"/> | |
76 </node> | |
77 <node CREATED="1541414419339" ID="ID_1335728257" MODIFIED="1541414543288" TEXT="Cのインライン展開"> | |
78 <node CREATED="1541414547693" ID="ID_659364184" MODIFIED="1541414559968" TEXT="どれくらいの深さまでインライン展開されるか"/> | |
79 </node> | |
80 </node> | |
81 <node CREATED="1541414337374" ID="ID_11025016" MODIFIED="1541414615830" POSITION="left" TEXT="CbC実装の利点と欠点"> | |
82 <node CREATED="1541414619857" ID="ID_1133837234" MODIFIED="1541414622751" TEXT="利点"> | |
83 <node CREATED="1541414647681" ID="ID_972123703" MODIFIED="1541414670449" TEXT="VMのコードを分割可能"> | |
84 <node CREATED="1541414674472" ID="ID_307775379" MODIFIED="1541414690736" TEXT="CbCのCodeSegmentは単なる関数"/> | |
85 <node CREATED="1541414698360" ID="ID_1846589276" MODIFIED="1541414715320" TEXT="case文labelテーブルは分割できない"/> | |
86 </node> | |
87 <node CREATED="1541414721554" ID="ID_1221286296" MODIFIED="1541414743992" TEXT="theread codeをcodeの変更抜きに簡単に実装できる"/> | |
88 <node CREATED="1541414752126" ID="ID_37293196" MODIFIED="1541414767417" TEXT="threaded codeに対して最適化をかけることが可能"> | |
89 <node CREATED="1541414819192" ID="ID_1033020793" MODIFIED="1541414828553" TEXT="bytecode レベルと同じ"/> | |
90 </node> | |
91 <node CREATED="1541415237612" ID="ID_790139571" MODIFIED="1541415252267" TEXT="moarvmよりdebugしやすい"> | |
92 <node CREATED="1541415255995" ID="ID_816297483" MODIFIED="1541415276370" TEXT="labelと違って関数名がデバッガから見える"/> | |
93 </node> | |
8 | 94 <node CREATED="1541416619317" ID="ID_811393660" MODIFIED="1541416660639" TEXT="CbCのABIにJITされたコードを合わせる可能性はある"/> |
7 | 95 </node> |
96 <node CREATED="1541415063228" ID="ID_225388377" MODIFIED="1541415228031" TEXT="欠点"> | |
97 <node CREATED="1541415069642" ID="ID_533817131" MODIFIED="1541415076071" TEXT="CbCコンパイラがbuggy"> | |
98 <node CREATED="1541415079422" ID="ID_1044393091" MODIFIED="1541415095025" TEXT="gccとllvmのアップデートに追従する必要がある"/> | |
99 <node CREATED="1541415100937" ID="ID_609944534" MODIFIED="1541415120866" TEXT="taill callの強制がかなり難しい"/> | |
100 <node CREATED="1541415202235" ID="ID_1151226334" MODIFIED="1541415223114" TEXT="現状だとnqpがビルドできない?"/> | |
101 </node> | |
102 <node CREATED="1541415132139" ID="ID_279142255" MODIFIED="1541415140313" TEXT="CbCがメジャーではない"/> | |
103 <node CREATED="1541415157875" ID="ID_1565993570" MODIFIED="1541415190810" TEXT="code segmentでの不要なスタック操作命令を完全に排除できていない"/> | |
104 <node CREATED="1541415231921" ID="ID_1712589110" MODIFIED="1541415312458" TEXT="C levelに戻る際に環境付きで戻る必要がある"/> | |
105 </node> | |
106 </node> | |
107 <node CREATED="1541414617793" ID="ID_782240881" MODIFIED="1541415363082" POSITION="left" TEXT="MoarVMのデバッグ" VSHIFT="-122"> | |
108 <node CREATED="1541415368783" ID="ID_1979041331" MODIFIED="1541415397139" TEXT="命令履歴をCbCとラベル実装の命令履歴を比較する"/> | |
109 </node> | |
110 <node CREATED="1541415622350" ID="ID_479435127" MODIFIED="1541415627931" POSITION="left" TEXT="今後の課題"> | |
111 <node CREATED="1541415631627" ID="ID_1779514222" MODIFIED="1541415639121" TEXT="コンパイラのbug fix"/> | |
112 <node CREATED="1541415646929" ID="ID_717536026" MODIFIED="1541415667291" TEXT="簡単な例題が動いた"> | |
113 <node CREATED="1541415668063" ID="ID_293158844" MODIFIED="1541415675396" TEXT="テストの何%。。"/> | |
114 </node> | |
115 <node CREATED="1541415678504" ID="ID_1540520024" MODIFIED="1541415688186" TEXT="self build"/> | |
116 <node CREATED="1541415689135" ID="ID_992629371" MODIFIED="1541415698273" TEXT="threaded code compiler"/> | |
117 <node CREATED="1541415702936" ID="ID_1828933472" MODIFIED="1541415715180" TEXT="GCの制御"> | |
118 <node CREATED="1541415776036" ID="ID_1306202452" MODIFIED="1541415784654" TEXT="GCの最適化"/> | |
119 </node> | |
120 <node CREATED="1541415792261" ID="ID_779643203" MODIFIED="1541415798355" TEXT="regexの最適化"/> | |
121 <node CREATED="1541415812077" ID="ID_587379399" MODIFIED="1541415828459" TEXT="rakudo compilerからcbcのコードを直接生成する"> | |
122 <node CREATED="1541415829993" ID="ID_1858274685" MODIFIED="1541415836811" TEXT="llvmでコンパイルする"/> | |
123 </node> | |
124 <node CREATED="1541415846430" ID="ID_1375113859" MODIFIED="1541415854235" TEXT="最新版への追従"> | |
125 <node CREATED="1541415871528" ID="ID_1262253798" MODIFIED="1541415904441" TEXT="interp.cからのcbc-interp.cbc自動生成"/> | |
126 </node> | |
127 </node> | |
128 </node> | |
129 </map> |