Changeset cd03b76d


Ignore:
Timestamp:
Aug 31, 2021, 4:55:03 PM (5 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
jacob/cs343-translation, master
Children:
25d4e15
Parents:
e37db11
Message:

Andrew MMath: Clean-up pass addressing (or deciding not to address) most of the remaining \todo items.

Location:
doc/theses/andrew_beach_MMath
Files:
1 added
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/andrew_beach_MMath/features.tex

    re37db11 rcd03b76d  
    162162type a child of that type and part of the same tree. The parent may itself
    163163be a child or a root type and may have any number of existing children.
     164
     165% OK, for some reason the b and t positioning options are reversed here.
     166\begin{minipage}[b]{0.6\textwidth}
    164167\begin{cfa}
    165168trait child_a(T) virtual(root_type) {}
     
    167170trait child_b(T) virtual(root_type) {}
    168171\end{cfa}
    169 \todo{Update the diagram in vtable.fig to show the new type tree.}
     172\end{minipage}
     173\begin{minipage}{0.4\textwidth}
     174\begin{center}
     175\input{virtual-tree}
     176\end{center}
     177\end{minipage}
    170178
    171179Every virtual type also has a list of virtual members and a unique id,
     
    499507throwResume EXPRESSION;
    500508\end{cfa}
    501 \todo{Decide on a final set of keywords and use them everywhere.}
     509% The new keywords are currently ``experimental" and not used in this work.
    502510It works much the same way as the termination raise, except the
    503511type must satisfy the \snake{is_resumption_exception} that uses the
     
    544552and run, its try block (the guarded statements) and every try statement
    545553searched before it are still on the stack. There presence can lead to
    546 the recursive resumption problem.
    547 \todo{Is there a citation for the recursive resumption problem?}
     554the recursive resumption problem.\cite{Buhr00a}
     555% Other possible citation is MacLaren77, but the form is different.
    548556
    549557The recursive resumption problem is any situation where a resumption handler
  • doc/theses/andrew_beach_MMath/implement.tex

    re37db11 rcd03b76d  
    9999
    100100Type information is constructed as follows:
    101 \begin{enumerate}
     101\begin{enumerate}[nosep]
    102102\item
    103103Use the type's name to generate a name for the type information structure,
     
    123123including different instances of the same polymorphic type.
    124124\end{enumerate}
    125 \todo{The list is making me realize, some of this isn't ordered.}
    126125
    127126Writing that code manually, with helper macros for the early name mangling,
     
    176175below.
    177176
    178 The layout always comes in three parts.
    179 \todo{Add labels to the virtual table layout figure.}
     177The layout always comes in three parts (see \autoref{f:VirtualTableLayout}).
    180178The first section is just the type id at the head of the table. It is always
    181179there to ensure that it can be found even when the accessing code does not
     
    190188
    191189\begin{figure}
     190\begin{center}
    192191\input{vtable-layout}
     192\end{center}
    193193\caption{Virtual Table Layout}
    194194\label{f:VirtualTableLayout}
    195 \todo*{Improve the Virtual Table Layout diagram.}
    196195\end{figure}
    197196
     
    797796\autoref{f:TerminationTransformation} shows the pattern used to transform
    798797a \CFA try statement with catch clauses into the appropriate C functions.
    799 \todo{Explain the Termination Transformation figure.}
    800798
    801799\begin{figure}
     
    855853\caption{Termination Transformation}
    856854\label{f:TerminationTransformation}
    857 \todo*{Improve (compress?) Termination Transformations.}
    858855\end{figure}
    859856
     
    894891
    895892\autoref{f:ResumptionTransformation} shows the pattern used to transform
    896 a \CFA try statement with catch clauses into the appropriate C functions.
    897 \todo{Explain the Resumption Transformation figure.}
     893a \CFA try statement with catchResume clauses into the appropriate
     894C functions.
    898895
    899896\begin{figure}
     
    936933\caption{Resumption Transformation}
    937934\label{f:ResumptionTransformation}
    938 \todo*{Improve (compress?) Resumption Transformations.}
    939935\end{figure}
    940936
  • doc/theses/andrew_beach_MMath/performance.tex

    re37db11 rcd03b76d  
    7474three results are discarded and the remaining five values are averaged.
    7575The test are run with the latest (still pre-release) \CFA compiler,
    76 using gcc-10 as a backend.
    77 g++-10 is used for \Cpp.
     76using gcc-10 10.3.0 as a backend.
     77g++-10 10.3.0 is used for \Cpp.
    7878Java tests are complied and run with version 11.0.11.
    79 Python used version 3.8.
     79Python used version 3.8.10.
    8080The machines used to run the tests are:
    81 \todo{Get patch versions for python, gcc and g++.}
    8281\begin{itemize}[nosep]
    8382\item ARM 2280 Kunpeng 920 48-core 2$\times$socket
     
    312311For example, there are a few cases where Python out-performs
    313312\CFA, \Cpp and Java.
    314 \todo{Make sure there are still cases where Python wins.}
     313% To be exact, the Match All and Match None cases.
    315314The most likely explanation is that, since exceptions
    316315are rarely considered to be the common case, the more optimized languages
  • doc/theses/andrew_beach_MMath/vtable-layout.fig

    re37db11 rcd03b76d  
    88-2
    991200 2
    10 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
    11          1620 1665
    12102 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
    1311         3510 1890 3645 1755
     
    16142 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
    1715         3645 1305 3645 1755
     162 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
     17         2115 1935 2250 1935
     182 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
     19         2250 1170 2115 1170 2115 2475 2250 2475
     202 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
     21         2250 1350 2115 1350
    18224 0 0 50 -1 0 12 0.0000 4 165 630 2295 1305 type_id\001
    19234 0 0 50 -1 0 12 0.0000 4 165 1170 2295 1500 parent_field0\001
Note: See TracChangeset for help on using the changeset viewer.