Changes in / [c532847:e7d6968]


Ignore:
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • doc/papers/concurrency/mail2

    rc532847 re7d6968  
    1 
    21Date: Wed, 26 Jun 2019 20:12:38 +0000
    32From: Aaron Thomas <onbehalfof@manuscriptcentral.com>
     
    10751074Software: Practice and Experience Editorial Office
    10761075
    1077 
    1078 
    1079 Date: Thu, 15 Oct 2020 13:48:52 +0000
    1080 From: Richard Jones <onbehalfof@manuscriptcentral.com>
    1081 Reply-To: R.E.Jones@kent.ac.uk
    1082 To: tdelisle@uwaterloo.ca, pabuhr@uwaterloo.ca
    1083 Subject: Software: Practice and Experience - Decision on Manuscript ID
    1084  SPE-19-0219.R3
    1085 
    1086 15-Oct-2020
    1087 
    1088 Dear Dr Buhr,
    1089 
    1090 It is a pleasure to accept your manuscript entitled "Advanced Control-flow and Concurrency in Cforall" in its current form for publication in Software: Practice and Experience. 
    1091 
    1092 Please note although the manuscript is accepted the files will now be checked to ensure that everything is ready for publication, and you may be contacted if final versions of files for publication are required.
    1093 
    1094 Your article cannot be published until the publisher has received the appropriate signed license agreement. Within the next few days the corresponding author will receive an email from Wiley's Author Services system which will ask them to log in and will present them with the appropriate license for completion.
    1095 
    1096 Thank you for your fine contribution.
    1097 
    1098 Sincerely,
    1099 Richard
    1100 
    1101 Prof. Richard Jones
    1102 Editor, Software: Practice and Experience
    1103 R.E.Jones@kent.ac.uk
    1104 
    1105 P.S. - You can help your research get the attention it deserves! Check out Wiley's free Promotion Guide for best-practice recommendations for promoting your work at www.wileyauthors.com/eeo/guide. And learn more about Wiley Editing Services which offers professional video, design, and writing services to create shareable video abstracts, infographics, conference posters, lay summaries, and research news stories for your research at www.wileyauthors.com/eeo/promotion.
    1106 
    1107 This journal accepts artwork submissions for Cover Images. This is an optional service you can use to help increase article exposure and showcase your research. For more information, including artwork guidelines, pricing, and submission details, please visit the Journal Cover Image page at www.wileyauthors.com/eeo/covers. If you want help creating an image, Wiley Editing Services offers a professional cover image design service that creates eye-catching images, ready to be showcased on the journal cover at www.wileyauthors.com/eeo/design.
    1108 
    1109 
    1110 
    1111 Date: Fri, 16 Oct 2020 12:44:42 +0000
    1112 From: Mayank Roy Chowdhury <onbehalfof@manuscriptcentral.com>
    1113 Reply-To: speoffice@wiley.com
    1114 To: pabuhr@uwaterloo.ca
    1115 Subject: Manuscript Accepted - Please submit final updates to SPE-19-0219.R3 [email ref: ENR-AW-1-c]
    1116 
    1117 16-Oct-2020
    1118 
    1119 Dear Dr. Buhr,
    1120 
    1121 Manuscript id: SPE-19-0219.R3
    1122 Manuscript title: Advanced Control-flow and Concurrency in Cforall
    1123 
    1124 Although your manuscript has been accepted for publication it is now being returned to your author center for you to review and make any final adjustments or corrections prior to production and publication.
    1125 
    1126 Any special instructions will be listed below:
    1127 1) Funding Information added in ScholorOne but missing in main document, Kindly add the Funding information in main document.
    1128 2) Please provide the clean version of the manuscript without any highlights or tracked changes.
    1129 3) Kindly check and make sure citations for all figures and Tables are present in the main document
    1130 
    1131 Please now log back into your Scholar One Author Center and click on the "Manuscripts Accepted for First Look" queue. In order to update the submission, click on the "submit updated manuscript" link in the "Actions" column and follow the steps as you would during a manuscript submission process.
    1132 
    1133 On the File Upload screen please upload the FINAL versions of all the files, including print quality image files. For information about image quality requirements, please refer to the guidelines at https://authorservices.wiley.com/asset/photos/electronic_artwork_guidelines.pdf.
    1134 
    1135 Instructions for uploading replacement files:
    1136 1. On the "File Upload" step, click on the "edit" button for the file you wish to replace.
    1137 2. In the "Upload a later version" section, browse to locate the replacement final version.
    1138 3. Add any comments concerning the replacement (e.g. "high res image").
    1139 4. Select whether the new file is a minor or major version (we suggest you select minor version)
    1140 5. Click upload.
    1141 6. Click 'Submit' when all the files have been uploaded and you will receive an automated email to say that submission is successful.
    1142 
    1143 Please submit your updates within the next 7 days to ensure there are no unnecessary delays in production.
    1144 
    1145 Sincerely,
    1146 Software: Practice and Experience Editorial Office
    1147 
    1148 
    1149 
    1150 From: SPE Office <speoffice@wiley.com>
    1151 To: "Peter A. Buhr" <pabuhr@uwaterloo.ca>
    1152 Subject: Re: Manuscript Accepted - Please submit final updates to SPE-19-0219.R3 [email ref: ENR-AW-1-c]
    1153 Date: Mon, 19 Oct 2020 17:04:24 +0000
    1154 
    1155 Dear Dr. Buhr,
    1156 
    1157 Thank you very much for contacting the Editorial Office.
    1158 
    1159 I would like to let you know that the files has been found in order and moved to production.
    1160 
    1161 Plesae let me know for further assistance in this regard.
    1162 
    1163 Best Regards
    1164 
    1165 Mayank Roy Chowdhury
    1166 Editorial Assistant
    1167 Software practice and Experience
    1168 ________________________________
    1169 From: Peter A. Buhr <pabuhr@uwaterloo.ca>
    1170 Sent: Sunday, October 18, 2020 2:00 PM
    1171 To: SPE Office <speoffice@wiley.com>
    1172 Cc: Thierry Delisle <tdelisle@uwaterloo.ca>
    1173 Subject: Re: Manuscript Accepted - Please submit final updates to SPE-19-0219.R3 [email ref: ENR-AW-1-c]
    1174 
    1175        This is an external email.
    1176 
    1177     Mayank Roy Chowdhury <onbehalfof@manuscriptcentral.com> writes:
    1178 
    1179     Instructions for uploading replacement files:
    1180     1. On the "File Upload" step, click on the "edit" button for the file you wish to replace.
    1181     2. In the "Upload a later version" section, browse to locate the replacement final version.
    1182     3. Add any comments concerning the replacement (e.g. "high res image").
    1183     4. Select whether the new file is a minor or major version (we suggest you select minor version)
    1184     5. Click upload.
    1185     6. Click 'Submit' when all the files have been uploaded and you will receive an automated email to say that submission is successful.
    1186 
    1187 There was no "edit" button on the "File Upload" page, so I just upload the
    1188 final version of the PDF and source files using the mechanism on the "File
    1189 Upload" page and submitted that.
    1190 
    1191 
    1192 
    1193 Date: Tue, 20 Oct 2020 13:28:37 +0530
    1194 To: "Dr. Peter Buhr" <pabuhr@uwaterloo.ca>
    1195 From: jpcms@spi-global.com
    1196 Subject: Information: Production Editor Contact Software:Practice and Experience  | Advanced Control-flow and Concurrency in C A
    1197 
    1198 Dear Dr. Peter Buhr,
    1199 
    1200 We are in the process of preparing "Advanced Control-flow and Concurrency in C A" for publication. Your production editor, Joel Pacaanas, will support you and your article throughout the process.
    1201 
    1202 Please get in touch with your Production Editor at SPEproofs@wiley.com;EllaMae.Navor@spi-global.com if you have any questions.
    1203                
    1204 Sincerely,
    1205 Booking-in Team,
    1206 On behalf of Wiley
    1207 
    1208 Article ID: SPE_2925
    1209 Article DOI: 10.1002/SPE.2925
    1210 
    1211 
    1212 
    1213 Date: Tue, 20 Oct 2020 10:33:04 +0000
    1214 From: <cs-author@wiley.com>
    1215 To: <pabuhr@uwaterloo.ca>
    1216 Subject: In Production: Your article accepted in Software: Practice and Experience
    1217 
    1218 Dear Peter Buhr,
    1219 
    1220 Article ID: SPE2925
    1221 Article DOI: 10.1002/spe.2925
    1222 Internal Article ID: 16922213
    1223 Article: Advanced Control-flow and Concurrency in C A
    1224 Journal: Software: Practice and Experience
    1225 
    1226 Congratulations on the acceptance of your article for publication in Software: Practice and Experience.
    1227 
    1228 Your article has been received and the production process is now underway. We look forward to working with you and publishing your article. Using Wiley Author Services, you can track your article's progress.
    1229 
    1230 Please click below to login - if you are using a different email address than this one, you will need to manually assign this article to your Dashboard (see https://hub.wiley.com/docs/support/assigning-a-missing-article-to-my-dashboard-DOC-11871?utm_source=new%20user%20invitation&utm_medium=email How do I assign a missing article to My Dashboard?):
    1231 
    1232 https://authorservices.wiley.com/index.html#login?campaign=email_invitation-new
    1233 
    1234 If applicable, a list of available actions will appear below - check out your Author Services Dashboard for all actions related to your articles.
    1235 
    1236 Sign your license agreement (REQUIRED)  -- you will receive an email when this task is ready on your dashboard. Track your article's progress to publicationAccess your published articleInvite colleagues to view your published article
    1237 If you need any assistance, please click http://www.wileyauthors.com/help?utm_source=new%20user%20invitation&utm_medium=email here to view our Help section.
    1238 
    1239 Sincerely,
    1240 Wiley Author Services
    1241 
    1242 P.S. - Some journals accept artwork submissions for Cover Images. This is an optional service you can use to help increase article exposure and showcase your research. Pricing and placement options vary by journal. For more information, including artwork guidelines, pricing, and submission details, please visit the https://authorservices.wiley.com/author-resources/Journal-Authors/Promotion/journal-cover-image.html?utm_source=as&utm_medium=email&utm_term=invitation_msg&utm_content=covers&utm_campaign=2019feb?campaign=email_invitation-new" target=_blank">Journal Cover Image page. If you want help creating an image, Wiley Editing Services offers a professional https://wileyeditingservices.com/en/article-promotion/cover-image-design.html?utm_source=as&utm_medium=email&utm_term=ie&utm_content=cid&utm_campaign=prodops" target=_blank">Cover Image Design service that creates eye-catching images, ready to be showcased on the journal cover.
    1243 
    1244 
    1245 
    1246 Date: Thu, 22 Oct 2020 20:21:49 +0000
    1247 From: <cs-author@wiley.com>
    1248 To: <pabuhr@uwaterloo.ca>
    1249 Subject: You have actions to complete in Author Services
    1250 
    1251 Dear Peter Buhr,
    1252 
    1253 Article ID: SPE2925
    1254 Article DOI: 10.1002/spe.2925
    1255 Internal Article ID: 16922213
    1256 Article: Advanced Control-flow and Concurrency in C A
    1257 Journal: Software: Practice and Experience
    1258 
    1259 For the above article, you have the following open tasks:
    1260 
    1261 Sign your license agreement in order to publish your article. Simply click the Sign License button on your https://authorservices.wiley.com?campaign=email_license-notice1">Wiley Author Services Dashboard.
    1262 
    1263 Need any help? Please visit our https://authorsupport.wiley.com/s/">Author Support Center.
    1264 
    1265 Sincerely,
    1266 Wiley Author Services
    1267 
    1268 
    1269 
    1270 Date: Thu, 22 Oct 2020 23:13:07 +0000
    1271 From: <cs-author@wiley.com>
    1272 To: <pabuhr@uwaterloo.ca>
    1273 Subject: License was successfully submitted! Thank you!
    1274 
    1275 Dear Peter Buhr,                                                                 
    1276 
    1277 Article ID: SPE2925
    1278 Article DOI: 10.1002/spe.2925
    1279 Internal Article ID: 16922213
    1280 Article: Advanced Control-flow and Concurrency in C A 
    1281 Journal: Software: Practice and Experience                                                                     
    1282                                                                          
    1283 You've successfully completed license signing for your article - thank you! You can view your signed agreement at any time by visiting your https://authorservices.wiley.com?campaign=email_license-confirm">Wiley Author Services Dashboard.                                                                     
    1284 
    1285 Sincerely,                                                                                 
    1286 
    1287 Wiley Author Services
  • libcfa/src/concurrency/coroutine.cfa

    rc532847 re7d6968  
    1010// Created On       : Mon Nov 28 12:27:26 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Oct 23 23:05:24 2020
    13 // Update Count     : 22
     12// Last Modified On : Tue May 26 22:06:09 2020
     13// Update Count     : 21
    1414//
    1515
     
    217217                size = libFloor(create_size - stack_data_size - diff, libAlign());
    218218        } // if
    219         assertf( size >= MinStackSize, "Stack size %zd provides less than minimum of %zd bytes for a stack.", size, MinStackSize );
     219        assertf( size >= MinStackSize, "Stack size %zd provides less than minimum of %d bytes for a stack.", size, MinStackSize );
    220220
    221221        this->storage = (__stack_t *)((intptr_t)storage + size);
  • src/Parser/ParseNode.h

    rc532847 re7d6968  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Oct 24 03:53:54 2020
    13 // Update Count     : 895
     12// Last Modified On : Mon Jul  6 09:33:32 2020
     13// Update Count     : 892
    1414//
    1515
     
    205205struct TypeData;
    206206
    207 struct DeclarationNode : public ParseNode {
     207class DeclarationNode : public ParseNode {
     208  public:
    208209        // These enumerations must harmonize with their names in DeclarationNode.cc.
    209210        enum BasicType { Void, Bool, Char, Int, Int128,
     
    303304        bool get_inLine() const { return inLine; }
    304305        DeclarationNode * set_inLine( bool inL ) { inLine = inL; return this; }
    305 
     306  public:
    306307        DeclarationNode * get_last() { return (DeclarationNode *)ParseNode::get_last(); }
    307308
     
    359360//##############################################################################
    360361
    361 struct StatementNode final : public ParseNode {
     362class StatementNode final : public ParseNode {
     363  public:
    362364        StatementNode() { stmt = nullptr; }
    363365        StatementNode( Statement * stmt ) : stmt( stmt ) {}
     
    380382                os << stmt.get() << std::endl;
    381383        }
    382 
     384  private:
    383385        std::unique_ptr<Statement> stmt;
    384386}; // StatementNode
     
    424426Statement * build_finally( StatementNode * stmt );
    425427Statement * build_compound( StatementNode * first );
    426 StatementNode * maybe_build_compound( StatementNode * first );
    427428Statement * build_asm( bool voltile, Expression * instruction, ExpressionNode * output = nullptr, ExpressionNode * input = nullptr, ExpressionNode * clobber = nullptr, LabelNode * gotolabels = nullptr );
    428429Statement * build_directive( std::string * directive );
  • src/Parser/StatementNode.cc

    rc532847 re7d6968  
    1010// Created On       : Sat May 16 14:59:41 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Oct 24 04:20:55 2020
    13 // Update Count     : 383
     12// Last Modified On : Sat Aug  4 09:39:25 2018
     13// Update Count     : 363
    1414//
    1515
     
    345345} // build_compound
    346346
    347 // A single statement in a control structure is always converted to a compound statement so subsequent generated code
    348 // can be placed within this compound statement. Otherwise, code generation has to constantly check for a single
    349 // statement and wrap it into a compound statement to insert additional code. Hence, all control structures have a
    350 // conical form for code generation.
    351 StatementNode * maybe_build_compound( StatementNode * first ) {
    352         // Optimization: if the control-structure statement is a compound statement, do not wrap it.
    353         // e.g., if (...) {...} do not wrap the existing compound statement.
    354         if ( ! dynamic_cast<CompoundStmt *>( first->stmt.get() ) ) { // unique_ptr
    355                 CompoundStmt * cs = new CompoundStmt();
    356                 buildMoveList( first, cs->get_kids() );
    357                 return new StatementNode( cs );
    358         } // if
    359         return first;
    360 } // maybe_build_compound
    361 
    362347Statement * build_asm( bool voltile, Expression * instruction, ExpressionNode * output, ExpressionNode * input, ExpressionNode * clobber, LabelNode * gotolabels ) {
    363348        std::list< Expression * > out, in;
  • src/Parser/parser.yy

    rc532847 re7d6968  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Oct 24 08:21:14 2020
    13 // Update Count     : 4624
     12// Last Modified On : Fri Oct  9 18:09:09 2020
     13// Update Count     : 4614
    1414//
    1515
     
    10801080        IF '(' if_control_expression ')' statement                      %prec THEN
    10811081                // explicitly deal with the shift/reduce conflict on if/else
    1082                 { $$ = new StatementNode( build_if( $3, maybe_build_compound( $5 ), nullptr ) ); }
     1082                { $$ = new StatementNode( build_if( $3, $5, nullptr ) ); }
    10831083        | IF '(' if_control_expression ')' statement ELSE statement
    1084                 { $$ = new StatementNode( build_if( $3, maybe_build_compound( $5 ), maybe_build_compound( $7 ) ) ); }
     1084                { $$ = new StatementNode( build_if( $3, $5, $7 ) ); }
    10851085        ;
    10861086
     
    11301130
    11311131case_clause:                                                                                    // CFA
    1132         case_label_list statement                                       { $$ = $1->append_last_case( maybe_build_compound( $2 ) ); }
     1132        case_label_list statement                                       { $$ = $1->append_last_case( new StatementNode( build_compound( $2 ) ) ); }
    11331133        ;
    11341134
     
    11481148iteration_statement:
    11491149        WHILE '(' push if_control_expression ')' statement pop
    1150                 { $$ = new StatementNode( build_while( $4, maybe_build_compound( $6 ) ) ); }
     1150                { $$ = new StatementNode( build_while( $4, $6 ) ); }
    11511151        | WHILE '(' ')' statement                                                       // CFA => while ( 1 )
    1152                 { $$ = new StatementNode( build_while( new IfCtrl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ), maybe_build_compound( $4 ) ) ); }
     1152                { $$ = new StatementNode( build_while( new IfCtrl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ), $4 ) ); }
    11531153        | DO statement WHILE '(' comma_expression ')' ';'
    1154                 { $$ = new StatementNode( build_do_while( $5, maybe_build_compound( $2 ) ) ); }
     1154                { $$ = new StatementNode( build_do_while( $5, $2 ) ); }
    11551155        | DO statement WHILE '(' ')' ';'                                        // CFA => do while( 1 )
    1156                 { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), maybe_build_compound( $2 ) ) ); }
     1156                { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), $2 ) ); }
    11571157        | FOR '(' push for_control_expression_list ')' statement pop
    1158                 { $$ = new StatementNode( build_for( $4, maybe_build_compound( $6 ) ) ); }
     1158                { $$ = new StatementNode( build_for( $4, $6 ) ); }
    11591159        | FOR '(' ')' statement                                                         // CFA => for ( ;; )
    1160                 { $$ = new StatementNode( build_for( new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ), maybe_build_compound( $4 ) ) ); }
     1160                { $$ = new StatementNode( build_for( new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ), $4 ) ); }
    11611161        ;
    11621162
     
    13411341waitfor_clause:
    13421342        when_clause_opt waitfor statement                                       %prec THEN
    1343                 { $$ = build_waitfor( $2, maybe_build_compound( $3 ), $1 ); }
     1343                { $$ = build_waitfor( $2, $3, $1 ); }
    13441344        | when_clause_opt waitfor statement WOR waitfor_clause
    1345                 { $$ = build_waitfor( $2, maybe_build_compound( $3 ), $1, $5 ); }
     1345                { $$ = build_waitfor( $2, $3, $1, $5 ); }
    13461346        | when_clause_opt timeout statement                                     %prec THEN
    1347                 { $$ = build_waitfor_timeout( $2, maybe_build_compound( $3 ), $1 ); }
     1347                { $$ = build_waitfor_timeout( $2, $3, $1 ); }
    13481348        | when_clause_opt ELSE statement
    1349                 { $$ = build_waitfor_timeout( nullptr, maybe_build_compound( $3 ), $1 ); }
     1349                { $$ = build_waitfor_timeout( nullptr, $3, $1 ); }
    13501350                // "else" must be conditional after timeout or timeout is never triggered (i.e., it is meaningless)
    13511351        | when_clause_opt timeout statement WOR ELSE statement
    13521352                { SemanticError( yylloc, "else clause must be conditional after timeout or timeout never triggered." ); $$ = nullptr; }
    13531353        | when_clause_opt timeout statement WOR when_clause ELSE statement
    1354                 { $$ = build_waitfor_timeout( $2, maybe_build_compound( $3 ), $1, maybe_build_compound( $7 ), $5 ); }
     1354                { $$ = build_waitfor_timeout( $2, $3, $1, $7, $5 ); }
    13551355        ;
    13561356
Note: See TracChangeset for help on using the changeset viewer.