Changeset fd2b607


Ignore:
Timestamp:
Mar 10, 2020, 4:21:46 PM (19 months ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
arm-eh, jacob/cs343-translation, master, new-ast, new-ast-unique-expr
Children:
1cfdee9, 852a2f06
Parents:
b5bb444 (diff), 28c4f74 (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 edited

Legend:

Unmodified
Added
Removed
  • benchmark/Makefile.am

    rb5bb444 rfd2b607  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Sat Jan 25 09:20:44 2020
    14 ## Update Count     : 255
     13## Last Modified On : Tue Mar 10 11:41:18 2020
     14## Update Count     : 258
    1515###############################################################################
    1616
     
    108108creation_cfa_coroutine_DURATION = 100000000
    109109creation_cfa_coroutine_eager_DURATION = 10000000
     110creation_cfa_generator_DURATION = 1000000000
    110111creation_upp_coroutine_DURATION = ${creation_cfa_coroutine_eager_DURATION}
    111112creation_cfa_thread_DURATION = 10000000
  • benchmark/Makefile.in

    rb5bb444 rfd2b607  
    447447creation_cfa_coroutine_DURATION = 100000000
    448448creation_cfa_coroutine_eager_DURATION = 10000000
     449creation_cfa_generator_DURATION = 1000000000
    449450creation_upp_coroutine_DURATION = ${creation_cfa_coroutine_eager_DURATION}
    450451creation_cfa_thread_DURATION = 10000000
  • benchmark/creation/cfa_gen.cfa

    rb5bb444 rfd2b607  
    1 #include "bench.h"
     1#include "../bench.h"
    22
    3 struct C {
     3generator G {
    44        volatile int restart; // ensure compiler does not optimize away all the code
    55};
    6 void ?{}( C & c ) { c.restart = 0; }
    7 void main( C & ) {}
     6void ?{}( G & g ) { g.restart = 0; }
     7void main( G & ) {}
    88
    99int main( int argc, char * argv[] ) {
     
    1111        BENCH(
    1212                for ( times ) {
    13                          C c;
     13                         G g;
    1414                },
    1515                result
  • benchmark/ctxswitch/cfa_cor.cfa

    rb5bb444 rfd2b607  
    22#include <thread.hfa>
    33
    4 #include "bench.h"
     4#include "../bench.h"
    55
    6 coroutine C {} c;
     6coroutine C {};
    77void main( __attribute__((unused)) C & ) {
    8         while () {
     8        for () {
    99                suspend;
    1010        }
    1111}
    1212int main( int argc, char * argv[] ) {
     13        C c;
    1314        BENCH_START()
    1415        BENCH(
  • benchmark/ctxswitch/cfa_gen.cfa

    rb5bb444 rfd2b607  
    11#include "../bench.h"
    22
    3 typedef struct {
    4         void * next;
    5 } C;
    6 
    7 void comain( C * c ) {
    8         if ( __builtin_expect(c->next != 0, 1) ) goto *(c->next);
    9         c->next = &&s1;
     3generator G {};
     4void main( G & ) {
    105        for () {
    11                 return;
    12           s1: ;
     6                suspend;
    137        }
    148}
    159
    1610int main( int argc, char * argv[] ) {
     11        G g;
    1712        BENCH_START()
    18         C c = { 0 };
    1913        BENCH(
    2014                for ( times ) {
    21                         comain( &c );
     15                        resume( g );
    2216                },
    2317                result
  • src/Parser/parser.yy

    rb5bb444 rfd2b607  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Feb 26 14:27:39 2020
    13 // Update Count     : 4472
     12// Last Modified On : Fri Mar  6 17:26:45 2020
     13// Update Count     : 4474
    1414//
    1515
     
    919919        conditional_expression
    920920        | unary_expression assignment_operator assignment_expression
    921                 { $$ = new ExpressionNode( build_binary_val( $2, $1, $3 ) ); }
     921                {
     922                        if ( $2 == OperKinds::AtAssn ) {
     923                                SemanticError( yylloc, "C @= assignment is currently unimplemented." ); $$ = nullptr;
     924                        } else {
     925                                $$ = new ExpressionNode( build_binary_val( $2, $1, $3 ) );
     926                        } // if
     927                }
    922928        | unary_expression '=' '{' initializer_list_opt comma_opt '}'
    923929                { SemanticError( yylloc, "Initializer assignment is currently unimplemented." ); $$ = nullptr; }
Note: See TracChangeset for help on using the changeset viewer.