annotate presen/presentation.html @ 30:5ec4d6ecebd1 draft

commit
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Mon, 27 Feb 2012 14:29:47 +0900
parents 24ef9b912739
children ca5104bbc3eb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 <!DOCTYPE html>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 <!--
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 Copyright 2010 Google Inc.
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 Licensed under the Apache License, Version 2.0 (the "License");
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 you may not use this file except in compliance with the License.
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 You may obtain a copy of the License at
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 http://www.apache.org/licenses/LICENSE-2.0
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 Unless required by applicable law or agreed to in writing, software
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 distributed under the License is distributed on an "AS IS" BASIS,
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 See the License for the specific language governing permissions and
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 limitations under the License.
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 Original slides: Marcin Wichary (mwichary@google.com)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 Modifications: Ernest Delgado (ernestd@google.com)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 Alex Russell (slightlyoff@chromium.org)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 landslide modifications: Adam Zapletal (adamzap@gmail.com)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 Nicolas Perriault (nperriault@gmail.com)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 <html>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 <head>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 <meta http-equiv="X-UA-Compatible" content="chrome=1">
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
28 <title>Continuation based C の <br> GCC 4.6による実装</title>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 <!-- Styles -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 <link rel="stylesheet" media="print" href="file:///Library/Python/2.7/site-packages/landslide-1.0.1-py2.7.egg/landslide/themes/default/css/print.css">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 <link rel="stylesheet" media="screen, projection" href="file:///Library/Python/2.7/site-packages/landslide-1.0.1-py2.7.egg/landslide/themes/tango/css/screen.css">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 <link rel="stylesheet" href="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/presen.css">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 <!-- /Styles -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 <!-- Javascripts -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 <script type="text/javascript" src="file:///Library/Python/2.7/site-packages/landslide-1.0.1-py2.7.egg/landslide/themes/default/js/slides.js"></script>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 <!-- /Javascripts -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 </head>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 <body>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 <div id="blank"></div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 <div class="presentation">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 <div id="current_presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 <div id="presenter_note"></div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 <div class="slides">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
60 <header><h1>Continuation based C の <br> GCC 4.6による実装</h1></header>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
77 1/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 <div class="slide has_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 <header><h2>はじめに</h2></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 <section><p class="notes">plop</p>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 <ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 <li>当研究室ではコードセグメント単位で記述するプログラミング言語Continuation based C (以下CbC)という言語を開発している。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 <li>コードセグメントは C の関数よりも細かな単位で、状態を表すことができる。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 <li>その為 CbC では状態遷移記述を行うことが出来、状態探索といったモデル検査等に使えると考えている。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 </ul></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
112 2/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 <header><h2>研究の目的</h2></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 <section><ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 <li>CbC のコンパイラは Micro-C 版 と GCC ベース(以下 CbC-GCC)のコンパイラが開発されている。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 <li>しかし, CbC-GCC はいくつかのバグがあり機能の修正の余地があった。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 <li>また、GCC の最新の機能を使用するためにも CbC-GCC は GCC のアップデートに合わせていく必要がある。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 <li>本研究では、GCC-4.5 をベースとしていた CbC-GCC を GCC-4.6 へのアップデートをすると共に実装の修正を行った。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 </ul></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
147 3/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 <div class="slide foo bar">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 <header><h1>発表内容</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 <section><ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 <li>Continuation based C</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 <li>CbC の実装(修正点)</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 <ol>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 <li>Tail Call Elimination の強制付与</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 </ol>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 <li>性能評価</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 <li>まとめ</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 </ul></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
185 4/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 <header><h1>Continuation based C</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 <section><h2>コードセグメント単位での記述と継続を基本としたプログラミング言語</h2>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 <li>コーセグメント:CbC におけるプログラムの基本単位</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 <ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 <li>C の関数よりも細かな単位</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 <li>C から関数コールとループ制御が取り除かれた形</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 <li>コードセグメントの末尾処理で別のコードセグメントへ継続(goto)することで CbC のプログラムは続いていく。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 </ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 <table width=100% >
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 <td style="margin-left:auto; margin-right: auto; text-align: center;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 <img src="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/./pix/codesegment.png" style="height:14em;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 </table></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
228 5/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 <header><h1>Continuation based C</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 <section><h2>継続:現在の処理を実行していく為の情報</h2>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 <p><table width=100% border=1>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 <td><h2>Cの継続</h2></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 <td><h2>CbCの継続(軽量継続)</h2></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 <ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 <li>続く命令のアドレス</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 <li>命令に必要なデータ</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 <li>スタックに積まれている値(環境)</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 </ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 <ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 <li>Cの継続から環境を除外</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 <li>続く命令とその命令に必要なデータのみ</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 </ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 <t>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 <td style="margin-left:auto; margin-right: auto; text-align: center;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 <img class="scale" src="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/./pix/func_call.png" style="height: 18em;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 <td style="margin-left:auto; margin-right: auto; text-align: center;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 <img class="scale" src="./pix/cs_stack.png" style="height: 18em;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 </table></p></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
287 6/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 <header><h1>Continuation based C</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 <section><p><table width=100% border=1>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 <caption>階乗を求める CbC のプログラム</caption>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 <pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 __code print_factorial(int prod)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 {
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 printf("factorial = %d\n",prod);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 exit(0);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 __code factorial0(int prod, int x)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 {
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 if ( x &gt;= 1) {
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 goto factorial0(prod<em>x, x-1);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 }else{
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 goto print_factorial(prod);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 __code factorial(int x)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 {
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 goto factorial0(1, x);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 int main(int argc, char </em>*argv)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 {
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 int i;
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 i = atoi(argv[1]);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 goto factorial(i);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 </pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 <li>__code によるコードセグメントの宣言</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 <li>goto によるコードセグメントへの継続</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 </table></p></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
350 7/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 <header><h1>CbC の実装</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
378 8/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
382 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
388
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 <header><h1>CbC の実装 : Tail Call Elimination</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 <section><p><li>CbC-GCC の軽量継続は最適化の1つ, <font color=red>Tail Call Celimination(末尾除去)</font>により実装されている.</li></p>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 <h2>Tail Call Elimination</h2>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394 <p><li>関数呼び出しを call ではなく jmp 命令で行う最適化</li>
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
395 <li>例えば, 如何の場合関数 g は jmp 命令で関数 f へと処理が移る</li></p>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 <table width=100%>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 <td width=50%>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 <pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 void f(int a, int b) {
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
401 printf("f: a=%d b=%d\n",a,b);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 return ;
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405 void g(int a, int b){
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 printf("g: a=%d b=%d\n",a,b);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
407 f(a,b);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 return;
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
410
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411 int main() {
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412 g(3,4);
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 return 0;
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
414 }
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415 </pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
418 <img src="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/./pix/continuation.png" style="height:80%;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
419 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
420 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421 </table></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
422
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
431
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
437 9/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
443 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
447
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448 <header><h1>CbC の実装: Tail Call Elimination</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 <section><h2>Tail Call Elimination の条件</h2>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
452 <p><ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 <li>caller側とcallee側の戻値の型の一致している。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
454 <li>関数呼び出しがリターン直前に行われている。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
455 <li>呼出先関数の引数に用いられるスタックサイズが呼出元のそれより少ない。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
456 <li>引数の並びのコピーに上書きがない。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
457 </ul></p>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
458 <h2>条件回避の為の実装</h2>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
459 <p><ul>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
460 <li>コードセグメントの型はvoid型で統一する。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 <li>gotoの直後に自動で return を置く。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
462 <li>スタックサイズは固定にする。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
463 <li>引数は一旦、一時変数にコピーする。</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
464 </ul></p></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
465
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
467 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
468 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
469 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
470
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
471 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
472 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
473 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
474
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
475 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
476 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
477 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
478
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
479 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
480 10/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
481 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
482 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
483 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
484 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
485
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
486 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
487 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
488 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
489 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
490
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
491 <header><h1>CbC の実装: Tail Call Elimination</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
492
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
493
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
494 <section><h2>Tail Call Elimination の条件をチェックする expand_call関数</h2>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
495 <ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
496 <li>今までの実装では Tail Call Elimination の条件をクリアする為に専用の関数を用意していた。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
497 <li>この専用関数は元々ある GCC コードを元に作成している為, アップデートに合わせて修正していく
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
498 必要があった。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
499 <li>しかし, 今回の実装でその関数を無くし, Tail Call Elimination のフラグを強制的に立たせる実装に変更。</li>
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
500 <li>専用関数がなくなったことで今後より楽なアップデートを行なっていくことができるようになった。</li>
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
501 </ul></section>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
502
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
503 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
504 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
505 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
506 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
507
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
508 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
509 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
510 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
511
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
512 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
513 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
514 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
515
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
516 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
517 11/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
518 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
519 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
520 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
521 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
522
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
523 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
524 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
525 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
526 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
527
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
528 <header><h1>性能評価</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
529
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
530
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
531 <section><li>conv1: 演算と継続を交互に繰り返すプログラム</li>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
532
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
533 <table width=100%>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
534 <caption>各コンパイラにより生成されたコードの速度比較</caption>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
535 <td style="margin:auto; text-align:center;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
536 <img src="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/./pix/conv1_for_resume.png" style="height:15em">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
537 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
538 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
539 <img src="./pix/conv1_mac_for_presen.png" style="height:15em">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
540 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
541 </table>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
542
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
543 <li>引数 2、3 の結果はほぼ同じ</li>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
544
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
545 <li>引数 1 の結果では 32bit, 64bit 共に GCC-4.6 の方が 1.5倍以上早</li></section>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
546
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
547 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
548 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
549 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
550 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
551
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
552 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
553 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
554 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
555
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
556 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
557 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
558 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
559
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
560 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
561 12/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
562 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
563 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
564 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
565 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
566
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
567 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
568 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
569 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
570 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
571
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
572 <header><h1>最適化の比較</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
573
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
574
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
575 <section><p><table width=100% border=1>
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
576 <caption>それぞれの最適化にかかった conv1プログラムの挙動(引数 1)</caption>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
577 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
578 <td>最適化</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
579 <td style="text-align:center;">状態遷移</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
580 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
581 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
582 <td>最適化無し</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
583 <td style="margin:auto; text-align:center;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
584 <img src="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/./pix/state_conv1_noopt.png">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
585 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
586 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
587 <td>GCC-4.5<br>の最適化</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
588 <td style="margin:auto; text-align:center;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
589 <img src="./pix/state_conv1_45.png">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
590 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
591 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
592 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
593 <td>GCC-4.6<br>の最適化</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
594 <td style="margin:auto; text-align:center;">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
595 <img src="./pix/state_conv1_46.png">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
596 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
597 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
598 </table></p></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
599
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
600 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
601 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
602 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
603 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
604
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
605 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
606 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
607 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
608
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
609 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
610 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
611 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
612
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
613 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
614 13/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
615 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
616 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
617 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
618 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
619
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
620 <!-- slide source: ./cbc.md -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
621 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
622 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
623 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
624
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
625 <header><h1>GCC の最適化</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
626
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
627
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
628 <section><ul>
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
629 <li>最適化無しに比べると GCC-4.5、 GGC-4.6 共にコードセグメントの数が減っている。</l></li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
630 <li>これは、最適化の 1 つ『インライン展開』により各コードセグメントの計算がまとめて行われる為、
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
631 継続する数を減らすことができるから。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
632 <li>GCC-4.5 でもインライン展開はされていたが、GCC-4.6 はより良い最適化がかけられている。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
633 </ul></section>
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
634
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
635 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
636 <div class="presenter_notes">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
637 <header><h1>Presenter Notes</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
638 <section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
639
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
640 </section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
641 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
642 <footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
643
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
644 <aside class="source">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
645 Source: <a href="./cbc.md">./cbc.md</a>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
646 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
647
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
648 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
649 14/21
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
650 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
651 </footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
652 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
653 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
654
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
655 <!-- slide source: ./cbc.md -->
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
656 <div class="slide-wrapper">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
657 <div class="slide">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
658 <div class="inner">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
659
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
660 <header><h1>GCC のアップデートに合わせる事の重要性</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
661
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
662
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
663 <section><ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
664 <li>今回の『インライン展開』のように GCC の最適化は日々改良されていく。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
665 <li>また、既存の最適化の改良だけでなく新たな最適化の追加等も行われていく。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
666 <li>それらの恩恵を受ける為にも GCC のアップデートに合わせていく事は今後も重要である。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
667 </ul></section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
668
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
669 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
670 <div class="presenter_notes">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
671 <header><h1>Presenter Notes</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
672 <section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
673
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
674 </section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
675 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
676 <footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
677
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
678 <aside class="source">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
679 Source: <a href="./cbc.md">./cbc.md</a>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
680 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
681
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
682 <aside class="page_number">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
683 15/21
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
684 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
685 </footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
686 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
687 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
688
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
689 <!-- slide source: ./cbc.md -->
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
690 <div class="slide-wrapper">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
691 <div class="slide">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
692 <div class="inner">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
693
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
694 <header><h1>まとめ</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
695
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
696
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
697 <section><ul>
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
698 <li>今回 CbC-GCC を GCC-4.6 へとアップデートを行った。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
699 <li>アップデートに伴い最適化の強制付与や環境付き継続の部分の実装の修正を行った。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
700 <li>アップデートにかけたことで, より良い最適化がかかることを確認できた。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
701 <li>GCC ベースの CbC コンパイラは今後 GCC のアップデートに合わせていくだけとなる。</li>
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
702 </ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
703 <h2>今後の課題</h2>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
704 <ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
705 <li>LLVM ベースの CbC コンパイラの開発</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
706 <li>google Go 言語への実装の検討</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
707 </ul></section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
708
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
709 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
710 <div class="presenter_notes">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
711 <header><h1>Presenter Notes</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
712 <section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
713
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
714 </section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
715 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
716 <footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
717
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
718 <aside class="source">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
719 Source: <a href="./cbc.md">./cbc.md</a>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
720 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
721
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
722 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
723 16/21
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
724 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
725 </footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
726 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
727 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
728
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
729 <!-- slide source: ./cbc.md -->
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
730 <div class="slide-wrapper">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
731 <div class="slide">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
732 <div class="inner">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
733
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
734 <header><h1>conv1 プログラム</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
735
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
736
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
737 <section><ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
738 <li>conv1 プログラムでは計算と継続を交互に繰り返し行なう。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
739 <li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
740 <p>しかし状態のいくつかへは関数ポインタとして保存させておき継続を行う。
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
741 <pre>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
742 __code g(int i,stack sp) { // Caller
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
743 struct f_g0_interface <em>c =
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
744 (struct f_g0_interface </em>)(sp -= sizeof(struct f_g0_interface));</p>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
745 <p>c-&gt;ret = g_h1;
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
746 c-&gt;i_ = i;</p>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
747 <p>goto h(i+3,sp);
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
748 }</p>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
749 </li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
750 </ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
751 <p>__code h(int i,stack sp) {
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
752 struct f_g0_interface <em>c = (struct f_g0_interface </em>)sp;
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
753 goto (c-&gt;ret)(i+4,sp);
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
754 }
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
755 </pre></p>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
756 <ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
757 <li>関数ポインタへの継続はインライン展開されない。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
758 </ul></section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
759
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
760 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
761 <div class="presenter_notes">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
762 <header><h1>Presenter Notes</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
763 <section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
764
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
765 </section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
766 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
767 <footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
768
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
769 <aside class="source">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
770 Source: <a href="./cbc.md">./cbc.md</a>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
771 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
772
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
773 <aside class="page_number">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
774 17/21
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
775 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
776 </footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
777 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
778 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
779
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
780 <!-- slide source: ./cbc.md -->
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
781 <div class="slide-wrapper">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
782 <div class="slide">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
783 <div class="inner">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
784
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
785 <header><h1>CbC の実装: 環境付き継続</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
786
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
787
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
788 <section><ul>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
789 <li>環境付き継続: C との互換を取るための機能。継続を行った C の関数に戻ることができる。 </li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
790 <li>_CbC_return、 _CbC_environment キーワードを使うことで使える。</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
791 <li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
792 <p>以下の使い方の場合、戻値 1 を返す。
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
793 <pre>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
794 <strong>code c1(</strong>code ret(int,void <em>),void </em>env) {
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
795 goto ret(1,env);
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
796 }
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
797 int main() {
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
798 goto c1(<strong>return, </strong>environment);
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
799 }
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
800 </pre></p>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
801 </li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
802 <li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
803 <p>今回この環境付き継続をスレッドセーフの実装へと修正した。</p>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
804 </li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
805 </ul></section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
806
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
807 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
808 <div class="presenter_notes">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
809 <header><h1>Presenter Notes</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
810 <section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
811
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
812 </section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
813 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
814 <footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
815
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
816 <aside class="source">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
817 Source: <a href="./cbc.md">./cbc.md</a>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
818 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
819
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
820 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
821 18/21
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
822 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
823 </footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
824 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
825 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
826
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
827 <!-- slide source: ./cbc.md -->
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
828 <div class="slide-wrapper">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
829 <div class="slide">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
830 <div class="inner">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
831
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
832 <header><h1>CbC 引数渡し</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
833
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
834
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
835 <section><p><li>CbC では引数渡しにできるだけレジスタを用いるようにしている.</li>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
836 <table border=1 width=100%>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
837 <caption><small>fastcall属性有・無の実行速度</small></caption>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
838 <tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
839 <td width=50% style="text-align:center;">fastcall無し</td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
840 </tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
841 <tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
842 <td style="margin:auto; text-align:center;">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
843 <img src="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/./pix/linux_conv_nofastcall.png" style="height:15em;">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
844 </td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
845 </tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
846 <tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
847 <td width=50% style="text-align:center;">fastcall有り</td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
848 <tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
849 <td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
850 <img src="./pix/linux_conv_fastcall.png" style="height:15em;">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
851 </td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
852 </tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
853 </table></p></section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
854
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
855 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
856 <div class="presenter_notes">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
857 <header><h1>Presenter Notes</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
858 <section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
859
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
860 </section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
861 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
862 <footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
863
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
864 <aside class="source">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
865 Source: <a href="./cbc.md">./cbc.md</a>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
866 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
867
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
868 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
869 19/21
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
870 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
871 </footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
872 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
873 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
874
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
875 <!-- slide source: ./cbc.md -->
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
876 <div class="slide-wrapper">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
877 <div class="slide">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
878 <div class="inner">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
879
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
880 <header><h1>GCC でのコンパイルの仕組み</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
881
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
882
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
883 <section><table width=100%>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
884 <td style="margin:auto; text-align:center;">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
885 <img src="file:///Users/aotokage/hg/Papers/2012/nobu-thesis/presen/./pix/ir.png" style="height:15em">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
886 </td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
887 </table>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
888
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
889 <li>CbC の実装では Parser と RTL の生成部分に手が加えられている。</li></section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
890
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
891 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
892 <div class="presenter_notes">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
893 <header><h1>Presenter Notes</h1></header>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
894 <section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
895
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
896 </section>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
897 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
898 <footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
899
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
900 <aside class="source">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
901 Source: <a href="./cbc.md">./cbc.md</a>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
902 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
903
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
904 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
905 20/21
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
906 </aside>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
907 </footer>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
908 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
909 </div>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
910
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
911 <!-- slide source: ./cbc.md -->
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
912 <div class="slide-wrapper">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
913 <div class="slide">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
914 <div class="inner">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
915
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
916 <header><h1>最適化の比較</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
917
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
918
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
919 <section><p><table width=100% border=1>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
920 <caption>それぞれの最適化により吐かれたアセンブラコード</caption>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
921 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
922 <td width=50% style="text-align:center;">CbC-GCC-4.5</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
923 <td width=50% style="text-align:center;">CbC-GCC-4.6</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
924 </tr></p>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
925 <p><tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
926 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
927 <pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
928 main:
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
929 call f
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
930 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
931 jmp f_g0
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
932 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
933 movq $f_g1, -24(%rdx)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
934 addl $10, %edi
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
935 movq $g_h1, -48(%rdx)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
936 jmp g_h1
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
937 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
938 movq 24(%rsi), %rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
939 movq %rax, %rsi
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
940 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
941 jmp <em>%rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
942 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
943 movq 24(%rsi), %rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
944 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
945 jmp </em>%rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
946 </pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
947 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
948 <td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
949 <pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
950 main:
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
951 movq $f_g1, main_stack+2000(%rip)
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
952 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
953 call g_h1
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
954 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
955 movq 24(%rax), %rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
956 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
957 jmp <em>%rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
958 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
959 movq 24(%rax), %rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
960 :
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
961 jmp </em>%rdx
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
962 </pre>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
963 </td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
964 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
965 <!--
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
966 <tr>
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
967 <td></td>\<Element 'br' at 0x108357630> <td></td>\<Element 'br' at 0x108357690> </tr>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
968 --></p>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
969 <p></table>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
970 <li>関数を展開してその場で計算する『インライン展開』がより強力になっているのが確認できる</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
971 <!--
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
972 <li>保存していた関数ポインタへの継続はインライン展開は行われない</li>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
973 --></p></section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
974
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
975 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
976 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
977 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
978 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
979
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
980 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
981 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
982 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
983
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
984 <aside class="source">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
985 Source: <a href="./cbc.md">./cbc.md</a>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
986 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
987
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
988 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
989 21/21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
990 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
991 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
992 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
993 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
994
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
995 <!-- slide source: -->
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
996 <div class="slide-wrapper">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
997 <div class="slide">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
998 <div class="inner">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
999
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1000
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1001 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1002 <div class="presenter_notes">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1003 <header><h1>Presenter Notes</h1></header>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1004 <section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1005
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1006 </section>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1007 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1008 <footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1009
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1010 <aside class="page_number">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1011 /21
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1012 </aside>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1013 </footer>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1014 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1015 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1016
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1017 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1018 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1019
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1020 <div id="toc" class="sidebar hidden">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1021 <h2>Table of Contents</h2>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1022 <table>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1023 <caption>Table of Contents</caption>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1024
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1025 <tr id="toc-row-1">
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
1026 <th><a href="#slide1">Continuation based C の <br> GCC 4.6による実装</a></th>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1027 <td><a href="#slide1">1</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1028 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1029
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1030
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1031 <tr id="toc-row-2" class="sub">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1032 <th><a href="#slide2">はじめに</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1033 <td><a href="#slide2">2</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1034 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1035
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1036 <tr id="toc-row-3" class="sub">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1037 <th><a href="#slide3">研究の目的</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1038 <td><a href="#slide3">3</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1039 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1040
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1041
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1042
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1043 <tr id="toc-row-4">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1044 <th><a href="#slide4">発表内容</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1045 <td><a href="#slide4">4</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1046 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1047
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1048
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1049 <tr id="toc-row-5">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1050 <th><a href="#slide5">Continuation based C</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1051 <td><a href="#slide5">5</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1052 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1053
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1054
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1055 <tr id="toc-row-6">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1056 <th><a href="#slide6">Continuation based C</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1057 <td><a href="#slide6">6</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1058 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1059
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1060
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1061 <tr id="toc-row-7">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1062 <th><a href="#slide7">Continuation based C</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1063 <td><a href="#slide7">7</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1064 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1065
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1066
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1067 <tr id="toc-row-8">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1068 <th><a href="#slide8">CbC の実装</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1069 <td><a href="#slide8">8</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1070 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1071
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1072
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1073 <tr id="toc-row-9">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1074 <th><a href="#slide9">CbC の実装 : Tail Call Elimination</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1075 <td><a href="#slide9">9</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1076 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1077
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1078
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1079 <tr id="toc-row-10">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1080 <th><a href="#slide10">CbC の実装: Tail Call Elimination</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1081 <td><a href="#slide10">10</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1082 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1083
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1084
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1085 <tr id="toc-row-11">
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
1086 <th><a href="#slide11">CbC の実装: Tail Call Elimination</a></th>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1087 <td><a href="#slide11">11</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1088 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1089
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1090
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1091 <tr id="toc-row-12">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1092 <th><a href="#slide12">性能評価</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1093 <td><a href="#slide12">12</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1094 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1095
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1096
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1097 <tr id="toc-row-13">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1098 <th><a href="#slide13">最適化の比較</a></th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1099 <td><a href="#slide13">13</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1100 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1101
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1102
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1103 <tr id="toc-row-14">
29
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
1104 <th><a href="#slide14">GCC の最適化</a></th>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1105 <td><a href="#slide14">14</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1106 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1107
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1108
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1109 <tr id="toc-row-15">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1110 <th><a href="#slide15">GCC のアップデートに合わせる事の重要性</a></th>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1111 <td><a href="#slide15">15</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1112 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1113
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1114
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1115 <tr id="toc-row-16">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1116 <th><a href="#slide16">まとめ</a></th>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1117 <td><a href="#slide16">16</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1118 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1119
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1120
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1121 <tr id="toc-row-17">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1122 <th><a href="#slide17">conv1 プログラム</a></th>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1123 <td><a href="#slide17">17</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1124 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1125
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1126
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1127 <tr id="toc-row-18">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1128 <th><a href="#slide18">CbC の実装: 環境付き継続</a></th>
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1129 <td><a href="#slide18">18</a></td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1130 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1131
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1132
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
1133 <tr id="toc-row-19">
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1134 <th><a href="#slide19">CbC 引数渡し</a></th>
28
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
1135 <td><a href="#slide19">19</a></td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
1136 </tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
1137
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
1138
30
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1139 <tr id="toc-row-20">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1140 <th><a href="#slide20">GCC でのコンパイルの仕組み</a></th>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1141 <td><a href="#slide20">20</a></td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1142 </tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1143
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1144
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1145 <tr id="toc-row-21">
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1146 <th><a href="#slide21">最適化の比較</a></th>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1147 <td><a href="#slide21">21</a></td>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1148 </tr>
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1149
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
1150
27
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1151 </table>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1152 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1153
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1154 <div id="help" class="sidebar hidden">
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1155 <h2>Help</h2>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1156 <table>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1157 <caption>Help</caption>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1158 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1159 <th>Table of Contents</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1160 <td>t</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1161 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1162 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1163 <th>Exposé</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1164 <td>ESC</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1165 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1166 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1167 <th>Full screen slides</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1168 <td>e</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1169 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1170 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1171 <th>Presenter View</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1172 <td>p</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1173 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1174 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1175 <th>Source Files</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1176 <td>s</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1177 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1178 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1179 <th>Slide Numbers</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1180 <td>n</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1181 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1182 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1183 <th>Toggle screen blanking</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1184 <td>b</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1185 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1186 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1187 <th>Show/hide slide context</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1188 <td>c</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1189 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1190 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1191 <th>Notes</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1192 <td>2</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1193 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1194 <tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1195 <th>Help</th>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1196 <td>h</td>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1197 </tr>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1198 </table>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1199 </div>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1200 <script>main()</script>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1201 </body>
45369b0cbcd1 add some files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1202 </html>