From e9cfc4ee7ca5c7f82748fbe6e2c1115cfc085197 Mon Sep 17 00:00:00 2001 From: Maciej Buszka Date: Wed, 17 Jun 2020 21:06:36 +0200 Subject: [PATCH] Updates --- main/transformer.tex | 32 +++++++++++++++++--------------- thesis.pdf | Bin 432532 -> 432958 bytes 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/main/transformer.tex b/main/transformer.tex index 029be4f..6adf6ad 100644 --- a/main/transformer.tex +++ b/main/transformer.tex @@ -64,10 +64,10 @@ \section{Administrative Normal Form} Function $\atomic{\cdot}$ transforms a continuation expecting an atomic expression (which are created when transforming commands) into one accepting any command by let-binding passed argument $c$ when necessary. Function $\anfSeq{\cdot}{\cdot}$ sequences computation of multiple expressions by creating a chain of let-bindings (using $\atomic{\cdot}$) and then calling the continuation with created variables. -TODO: -- better characterization of the ANF -- describe the algorithm -- explain why this particular form +% TODO: +% - better characterization of the ANF +% - describe the algorithm +% - explain why this particular form \begin{figure} \begin{center} @@ -137,7 +137,7 @@ \section{Control-Flow Analysis}\label{sec:transformer-cfa} \subsection*{A Machine Template} We will begin with a template of a machine for \IDL{} terms in A-normal form presented in Figure \ref{fig:anf-abstract-machine}. It is a CEK-style machine modified to explicitly allocate memory for values and continuations in an abstract store. -The template is parameterized by implementation of the store $\sigma$ along with five operations: $\mathit{alloc}_v$, $\mathit{alloc}_k$, $\mathit{deref}_v$, $\mathit{deref}_k$ and $\mathit{copy}_v$. +The template is parameterized by: implementation of the store $\sigma$ along with five operations: $\mathit{alloc}_v$, $\mathit{alloc}_k$, $\mathit{deref}_v$, $\mathit{deref}_k$ and $\mathit{copy}_v$; interpretation of primitive operations $\delta$ and implementation of $\mathit{match}$ function which interprets pattern matching. The store maps value addresses $\nu$ to values $v$ and continuation addresses $\kappa$ to continuations $k$. The environment maps program variables to value locations. The values on which machine operates are the following: base values $b$, primitive operations $\delta$, records with addresses as fields, closures and top-level functions. @@ -153,15 +153,14 @@ \subsection*{A Machine Template} A continuation configuration holds an address $\nu$ of a value that has been computed so far and a pointer $\kappa$ to a resumption which should be applied next. The first case of the transition relation $\Rightarrow$ looks up a pointer for the variable $x$ in the environment $\rho$ and switches to the continuation mode. -It may modify the store via $\mathit{copy}$ function which will become relevant when we consider an abstract instantiation of the machine. -The next three cases deal with values by $\mathit{alloc}$ating the values in the store and switching to the continuation mode. +It modifies the store via $\mathit{copy}$ function which ensures that every occurrence of a variable has a corresponding binding in the store. +The next three cases deal with values by $\mathit{alloc}$ating them in the store and switching to the continuation mode. When the machine encounters a let-binding it allocates a continuation for the body $e$ of the expression and proceeds to evaluate the bound command $c$ with the new pointer $\kappa'$. In case of applications and match expressions the resulting configuration is decided using auxiliary functions $\mathit{apply}$ and $\mathit{match}$ respectively. Finally, in continuation mode, may transition if the continuation loaded from address $\kappa$ is a frame. In such a case the machine matches the stored pattern against the value pointed-to by $\nu$. Otherwise $\kappa$ points to a $\tuple{}$ instead and the machine has reached the final state. The auxiliary function $\mathit{apply}$ checks what kind of function is referenced by $\nu$ and proceeds accordingly. -TODO match. \begin{figure}[ht] \begin{center} @@ -247,7 +246,7 @@ \subsection*{A Machine Template} \end{figure} \subsection*{A Concrete Abstract Machine} -The machine template can now be instantiated with a store implementation in order to obtain an abstract machine. +The machine template can now be instantiated with a store, a $\mathit{match}$ implementation which finds the first matching branch and interpretation for primitive operations in order to obtain an abstract machine. By choosing $\mathit{Store}$ to be a mapping with infinite domain we can ensure that $\mathit{alloc}$ can always return a fresh address. In this setting the store-allocated continuations are just an implementation of a stack. The extra layer of indirection introduced by storing values in a store can also be disregarded as the machine operates on persistent values. @@ -256,12 +255,15 @@ \subsection*{A Concrete Abstract Machine} \subsection*{An Abstract Abstract Machine}\label{ss:aam} Let us now turn to a different instantiation of the template. Figure \ref{fig:aam} shows the missing pieces of an abstract abstract machine for \IDL{}. -The store is represented as a pair of finite mappings from labels to sets of abstract values and continuations respectively. The abstract values use base type names $tp$ to represent any value of that type, abstract versions of primitive operations, records, closures and top-level functions. +The interpretation of primitive operations must approximate their concrete counterparts. + +The store is represented as a pair of finite mappings from labels to sets of abstract values and continuations respectively. This bounding of store domain and range ensures that the state-space of the machine becomes finite and therefore can be used for computing an analysis. To retain soundness w.r.t. the concrete abstract machine the store must map a single address to multiple values to account for address reuse. This style of abstraction is fairly straightforward as noted by \cite{aam} and used in textbooks \cite{popa}. When instantiated with this store, the transition relation $\Rightarrow$ becomes nondeterministic as pointer $\mathit{deref}$erencing nondeterministically returns one of the values available in the store. +Additionally the implementation of $\mathit{match}$ function is also nondeterministic in choice of a branch to match against. This machine is not yet suitable for computing the analysis as the state space is still too large since every machine configuration has its own copy of the store. To circumvent this problem a standard technique of widening \cite{popa} can be employed. In particular, following \cite{aam}, we will use a global store. @@ -271,7 +273,6 @@ \subsection*{An Abstract Abstract Machine}\label{ss:aam} The partial configurations $C'$ are added to the initial set of configurations $C$. The transition relation $\Rightarrow_a$ is deterministic so it can be treated as a function. This function is monotone on a finite lattice and therefore is amenable to fixed-point iteration. -TODO comments on alloc, deref, copy and match. \begin{figure} \begin{center} @@ -464,14 +465,15 @@ \section{Selective CPS}\label{sec:selective-cps} \section{Selective Defunctionalization}\label{sec:selective-defun} The second step of the functional correspondence and the last stage of the transformation is selective defunctionalization. -Top-level and anonymous functions may be annotated with \lstinline!#:no-defun! to skip defunctionalization of function spaces they belong to. +The goal is to defunctionalize function spaces deemed interesting by the author of the program. +To this end top-level and anonymous functions may be annotated with \lstinline!#:no-defun! to skip defunctionalization of function spaces they belong to. In the algorithm of Figure \ref{fig:defun} the predicate $\defun$ specifies whether a function should be transformed. Predicates $\mathit{primOp}$ and $\mathit{topLevel}$ specify whether a variable refers to (taking into account the scoping rules) primitive operation or top-level function respectively. For each application point $l$ in the program we can utilize the results of control-flow analysis to obtain the set of functions which may be applied. -If all of them should be defunctionalized ($\mathit{allDefun}$) then call to the generated apply function is introduced, when none of them should ($\mathit{noneDefun}$) then the application is left as is. -The apply functions are generated using $\mkApply$ as specified in Figure \ref{fig:defun-apply} where the $\mathit{fn}\ldots$ is a list of functions corresponding to the application. +If all of them should be defunctionalized ($\mathit{allDefun}$) then a call to the generated apply function is introduced, when none of them should ($\mathit{noneDefun}$) then the application is left as is, if neither condition holds then an error in the source program is signaled. +The apply functions are generated using $\mkApply$ as specified in Figure \ref{fig:defun-apply} where the $\mathit{fn}\ldots$ is a list of functions which may be applied. After the transformation the program is no longer in A-normal form since variables referencing top-level functions may have been transformed into records. -However it does not pose a problem since the majority of work has already been done and let-inlining does not require the program to be in ANF. +However it does not pose a problem since the majority of work has already been done and the last step -- let-inlining does not require the program to be in ANF. diff --git a/thesis.pdf b/thesis.pdf index bef8759387aea2f234439d04c30fccd245911a15..cbfe2f5023f6bf0303858f1afeb9052331c8aa91 100644 GIT binary patch delta 36780 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 fC*|UA7I4-V6cU{t?R56;`AOwPFWeEBg5H*FK delta 36314 zcmV)PK()WVwi=YP8nDQ#128Z!laT``f8AS4bK5u)zWY~bZ}dSJ;zfY2nnNZtu9_q@ z+1$}sB7q5Oer-@G(h>|$wlh~4E(hd^R9|V*XVO&8&5>162`x546 zQMp`ZtC@SNLs|+F3(->MA;Qq)yUFtqgNzc&l6J`1*^fawn#7v6gYH6fQlcemNBk#5 zBq0gkj<^ib(1fMBM?;E18XsaAe_w4@r&CFlxe3k6Inhk)SfA2FMQ3

;>-vGqIQ` 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