Changeset 45f4147


Ignore:
Timestamp:
Mar 18, 2020, 3:39:39 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
bbdb0c6
Parents:
96df7c9c (diff), 0f6ac828 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
6 added
7 edited

Legend:

Unmodified
Added
Removed
  • doc/papers/concurrency/Paper.tex

    r96df7c9c r45f4147  
    248248}
    249249
    250 \newbox\myboxA
    251 \newbox\myboxB
    252 \newbox\myboxC
    253 \newbox\myboxD
     250\newsavebox{\myboxA}
     251\newsavebox{\myboxB}
     252\newsavebox{\myboxC}
     253\newsavebox{\myboxD}
    254254
    255255\title{\texorpdfstring{Advanced Control-flow and Concurrency in \protect\CFA}{Advanced Control-flow in Cforall}}
     
    29672967\lstset{language=CFA,moredelim=**[is][\color{red}]{@}{@},deletedelim=**[is][]{`}{`}}
    29682968\begin{cfa}[aboveskip=0pt,belowskip=0pt]
    2969 @coroutine@ C {} c;
    2970 void main( C & ) { while () { @suspend;@ } }
     2969@coroutine@ C {};
     2970void main( C & ) { for () { @suspend;@ } }
    29712971int main() { // coroutine test
     2972        C c;
    29722973        BENCH( for ( N ) { @resume( c );@ } )
    29732974        sout | result;
     
    29892990\multicolumn{1}{@{}c}{} & \multicolumn{1}{c}{Median} &\multicolumn{1}{c}{Average} & \multicolumn{1}{c@{}}{Std Dev} \\
    29902991C function                      & 1.8           & 1.8           & 0.0   \\
    2991 \CFA generator          & 1.8           & 1.8           & 0.1   \\
     2992\CFA generator          & 1.8           & 2.0           & 0.3   \\
    29922993\CFA coroutine          & 32.5          & 32.9          & 0.8   \\
    29932994\CFA thread                     & 93.8          & 93.6          & 2.2   \\
  • doc/theses/andrew_beach_MMath/thesis.tex

    r96df7c9c r45f4147  
    11% Main tex file for thesis document.
    22\documentclass[digital]{uw-ethesis}
     3\usepackage{comment}
     4\usepackage{fullpage}
     5\setlength{\textheight}{8.75in}
     6\renewcommand\labelitemi{\footnotesize$\bullet$} % shrink bullet for level 1 itemize
     7\usepackage{lmodern}                            % bold typewriter font
     8
     9\usepackage{listings}                           % format program code
     10% Default underscore is too low and wide. Cannot use lstlisting "literate" as replacing underscore
     11% removes it as a variable-name character so keywords in variables are highlighted. MUST APPEAR
     12% AFTER HYPERREF.
     13%\DeclareTextCommandDefault{\textunderscore}{\leavevmode\makebox[1.2ex][c]{\rule{1ex}{0.1ex}}}
     14\renewcommand{\textunderscore}{\leavevmode\makebox[1.2ex][c]{\rule{1ex}{0.075ex}}}
     15% parindent is relative, i.e., toggled on/off in environments like itemize, so store the value for
     16% use rather than use \parident directly.
     17\newlength{\parindentlnth}
     18\setlength{\parindentlnth}{\parindent}
     19
     20% CFA programming language, based on ANSI C (with some gcc additions)
     21\lstdefinelanguage{CFA}[ANSI]{C}{
     22        morekeywords={
     23                _Alignas, _Alignof, __alignof, __alignof__, asm, __asm, __asm__, __attribute, __attribute__,
     24                auto, _Bool, catch, catchResume, choose, _Complex, __complex, __complex__, __const, __const__,
     25                coroutine, disable, dtype, enable, exception, __extension__, fallthrough, fallthru, finally,
     26                __float80, float80, __float128, float128, forall, ftype, generator, _Generic, _Imaginary, __imag, __imag__,
     27                inline, __inline, __inline__, __int128, int128, __label__, monitor, mutex, _Noreturn, one_t, or,
     28                otype, restrict, resume, __restrict, __restrict__, __signed, __signed__, _Static_assert, suspend, thread,
     29                _Thread_local, throw, throwResume, timeout, trait, try, ttype, typeof, __typeof, __typeof__,
     30                virtual, __volatile, __volatile__, waitfor, when, with, zero_t},
     31        moredirectives={defined,include_next},
     32        % replace/adjust listing characters that look bad in sanserif
     33        literate={-}{\makebox[1ex][c]{\raisebox{0.5ex}{\rule{0.8ex}{0.1ex}}}}1 {^}{\raisebox{0.6ex}{$\scriptstyle\land\,$}}1
     34                {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 % {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1
     35                {<}{\textrm{\textless}}1 {>}{\textrm{\textgreater}}1
     36                {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2 {->}{\makebox[1ex][c]{\raisebox{0.5ex}{\rule{0.8ex}{0.075ex}}}\kern-0.2ex{\textrm{\textgreater}}}2,
     37}
     38
     39\lstset{
     40language=CFA,
     41columns=fullflexible,
     42basicstyle=\linespread{0.9}\tt,                 % reduce line spacing and use sanserif font
     43stringstyle=\tt,                                % use typewriter font
     44tabsize=5,                                      % N space tabbing
     45xleftmargin=\parindentlnth,                     % indent code to paragraph indentation
     46%mathescape=true,                               % LaTeX math escape in CFA code $...$
     47escapechar=\$,                                  % LaTeX escape in CFA code
     48keepspaces=true,
     49showstringspaces=false,                         % do not show spaces with cup
     50showlines=true,                                 % show blank lines at end of code
     51aboveskip=4pt,                                  % spacing above/below code block
     52belowskip=3pt,
     53moredelim=**[is][\color{red}]{`}{`},
     54}% lstset
     55
     56\lstnewenvironment{cfa}[1][]
     57{\lstset{#1}}
     58{}
     59% inline code @...@
    360
    461% Commands used in documenting how to use the template. To remove.
     
    1370% For including graphics, sets the pdftex graphics driver.
    1471\usepackage[pdftex]{graphicx}
     72
     73\usepackage{cfalab}
    1574
    1675\usehyperrefpackage[pdftex,pagebackref=false]{
     
    43102type=nomenclature,
    44103name=dingledorf,
    45 description={A person of supposed average intelligence who makes incredibly brainless misjudgments}
     104description={A person of supposed average intelligence who makes incredibly
     105               brainless misjudgments}
    46106}
    47107
    48108% List of Abbreviations (abbreviations are from the glossaries-extra package)
    49 \newabbreviation{aaaaz}{AAAAZ}{American Association of Amature Astronomers and Zoologists}
     109\newabbreviation{aaaaz}{AAAAZ}{American Association of Amature Astronomers
     110               and Zoologists}
    50111
    51112% List of Symbols
     
    56117sort={label},
    57118type=symbols,
    58 description={Random vector: a location in n-dimensional Cartesian space, where each dimensional component is determined by a random process}
    59 }
     119description={Random vector: a location in n-dimensional Cartesian space, where
     120               each dimensional component is determined by a random process}
     121}
     122
     123% Must be here of cause problems with glossaries-extra.
     124\lstMakeShortInline$%
    60125
    61126% Generate the glossaries defined above.
     
    72137% MAIN BODY
    73138%----------------------------------------------------------------------
     139\input{unwinding}
     140
    74141%======================================================================
    75142\chapter{Introduction}
  • doc/theses/andrew_beach_MMath/uw-ethesis.cls

    r96df7c9c r45f4147  
    2828%     with options in <setup> (set hyperref's \hypersetup for details).
    2929\NeedsTeXFormat{LaTeX2e}
    30 \ProvidesClass{uw-ethesis} %[DATE VERSION NOTES]
     30\ProvidesClass{uw-ethesis}[2020/03/09 v0.1 UW E-Thesis Template Document Class]
    3131
    3232\RequirePackage{etoolbox}
  • libcfa/src/Makefile.am

    r96df7c9c r45f4147  
    1111## Created On       : Sun May 31 08:54:01 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jul 15 22:43:27 2019
    14 ## Update Count     : 241
     13## Last Modified On : Mon Mar 16 18:07:59 2020
     14## Update Count     : 242
    1515###############################################################################
    1616
     
    3939#----------------------------------------------------------------------------------------------------------------
    4040if BUILDLIB
    41 headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa
     41headers_nosrc = bitmanip.hfa math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa
    4242headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
    4343          containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa
  • libcfa/src/Makefile.in

    r96df7c9c r45f4147  
    237237        limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
    238238        containers/maybe.hfa containers/pair.hfa containers/result.hfa \
    239         containers/vector.hfa math.hfa gmp.hfa time_t.hfa \
     239        containers/vector.hfa bitmanip.hfa math.hfa gmp.hfa time_t.hfa \
    240240        bits/align.hfa bits/containers.hfa bits/defs.hfa \
    241241        bits/debug.hfa bits/locks.hfa concurrency/coroutine.hfa \
     
    432432am__v_GOC_0 = @echo "  GOC     " $@;
    433433am__v_GOC_1 =
     434AM_V_PY = $(am__v_PY_@AM_V@)
     435am__v_PY_ = $(am__v_PY_@AM_DEFAULT_V@)
     436am__v_PY_0 = @echo "  PYTHON  " $@;
     437am__v_PY_1 =
    434438AM_V_RUST = $(am__v_RUST_@AM_V@)
    435439am__v_RUST_ = $(am__v_RUST_@AM_DEFAULT_V@)
    436 am__v_RUST_0 = @echo "  RUST     " $@;
     440am__v_RUST_0 = @echo "  RUST    " $@;
    437441am__v_RUST_1 =
    438442AM_V_NODEJS = $(am__v_NODEJS_@AM_V@)
    439443am__v_NODEJS_ = $(am__v_NODEJS_@AM_DEFAULT_V@)
    440 am__v_NODEJS_0 = @echo "  NODEJS     " $@;
     444am__v_NODEJS_0 = @echo "  NODEJS  " $@;
    441445am__v_NODEJS_1 =
    442446AM_V_JAVAC = $(am__v_JAVAC_@AM_V@)
     
    457461
    458462#----------------------------------------------------------------------------------------------------------------
    459 @BUILDLIB_TRUE@headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa
     463@BUILDLIB_TRUE@headers_nosrc = bitmanip.hfa math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa
    460464@BUILDLIB_FALSE@headers =
    461465@BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
  • libcfa/src/exception.c

    r96df7c9c r45f4147  
    252252}
    253253
    254 #pragma GCC push_options
    255 #pragma GCC optimize("O0")
    256 
    257254// This is our personality routine. For every stack frame annotated with
    258255// ".cfi_personality 0x3,__gcfa_personality_v0" this function will be called twice when unwinding.
     
    413410        return _URC_CONTINUE_UNWIND;
    414411}
     412
     413#pragma GCC push_options
     414#pragma GCC optimize("O0")
    415415
    416416// Try statements are hoisted out see comments for details. While this could probably be unique
  • libcfa/src/interpose.cfa

    r96df7c9c r45f4147  
    1010// Created On       : Wed Mar 29 16:10:31 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Mar  2 17:37:00 2020
    13 // Update Count     : 176
     12// Last Modified On : Fri Mar 13 17:35:37 2020
     13// Update Count     : 178
    1414//
    1515
     
    234234
    235235        if ( fmt[strlen( fmt ) - 1] != '\n' ) {                         // add optional newline if missing at the end of the format text
    236                 __cfaabi_dbg_write( "\n", 1 );
     236                __cfaabi_bits_write( STDERR_FILENO, "\n", 1 );
    237237        } // if
    238238        kernel_abort_msg( kernel_data, abort_text, abort_text_size );
Note: See TracChangeset for help on using the changeset viewer.