Changes in / [e7d6968:c532847]
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/papers/concurrency/mail2
re7d6968 rc532847 1 1 2 Date: Wed, 26 Jun 2019 20:12:38 +0000 2 3 From: Aaron Thomas <onbehalfof@manuscriptcentral.com> … … 1074 1075 Software: Practice and Experience Editorial Office 1075 1076 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
re7d6968 rc532847 10 10 // Created On : Mon Nov 28 12:27:26 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue May 26 22:06:09202013 // Update Count : 2 112 // Last Modified On : Fri Oct 23 23:05:24 2020 13 // Update Count : 22 14 14 // 15 15 … … 217 217 size = libFloor(create_size - stack_data_size - diff, libAlign()); 218 218 } // if 219 assertf( size >= MinStackSize, "Stack size %zd provides less than minimum of % d bytes for a stack.", size, MinStackSize );219 assertf( size >= MinStackSize, "Stack size %zd provides less than minimum of %zd bytes for a stack.", size, MinStackSize ); 220 220 221 221 this->storage = (__stack_t *)((intptr_t)storage + size); -
src/Parser/ParseNode.h
re7d6968 rc532847 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Jul 6 09:33:32202013 // Update Count : 89 212 // Last Modified On : Sat Oct 24 03:53:54 2020 13 // Update Count : 895 14 14 // 15 15 … … 205 205 struct TypeData; 206 206 207 class DeclarationNode : public ParseNode { 208 public: 207 struct DeclarationNode : public ParseNode { 209 208 // These enumerations must harmonize with their names in DeclarationNode.cc. 210 209 enum BasicType { Void, Bool, Char, Int, Int128, … … 304 303 bool get_inLine() const { return inLine; } 305 304 DeclarationNode * set_inLine( bool inL ) { inLine = inL; return this; } 306 public: 305 307 306 DeclarationNode * get_last() { return (DeclarationNode *)ParseNode::get_last(); } 308 307 … … 360 359 //############################################################################## 361 360 362 class StatementNode final : public ParseNode { 363 public: 361 struct StatementNode final : public ParseNode { 364 362 StatementNode() { stmt = nullptr; } 365 363 StatementNode( Statement * stmt ) : stmt( stmt ) {} … … 382 380 os << stmt.get() << std::endl; 383 381 } 384 private: 382 385 383 std::unique_ptr<Statement> stmt; 386 384 }; // StatementNode … … 426 424 Statement * build_finally( StatementNode * stmt ); 427 425 Statement * build_compound( StatementNode * first ); 426 StatementNode * maybe_build_compound( StatementNode * first ); 428 427 Statement * build_asm( bool voltile, Expression * instruction, ExpressionNode * output = nullptr, ExpressionNode * input = nullptr, ExpressionNode * clobber = nullptr, LabelNode * gotolabels = nullptr ); 429 428 Statement * build_directive( std::string * directive ); -
src/Parser/StatementNode.cc
re7d6968 rc532847 10 10 // Created On : Sat May 16 14:59:41 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 4 09:39:25 201813 // Update Count : 3 6312 // Last Modified On : Sat Oct 24 04:20:55 2020 13 // Update Count : 383 14 14 // 15 15 … … 345 345 } // build_compound 346 346 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 347 362 Statement * build_asm( bool voltile, Expression * instruction, ExpressionNode * output, ExpressionNode * input, ExpressionNode * clobber, LabelNode * gotolabels ) { 348 363 std::list< Expression * > out, in; -
src/Parser/parser.yy
re7d6968 rc532847 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Oct 9 18:09:09202013 // Update Count : 46 1412 // Last Modified On : Sat Oct 24 08:21:14 2020 13 // Update Count : 4624 14 14 // 15 15 … … 1080 1080 IF '(' if_control_expression ')' statement %prec THEN 1081 1081 // explicitly deal with the shift/reduce conflict on if/else 1082 { $$ = new StatementNode( build_if( $3, $5, nullptr ) ); }1082 { $$ = new StatementNode( build_if( $3, maybe_build_compound( $5 ), nullptr ) ); } 1083 1083 | IF '(' if_control_expression ')' statement ELSE statement 1084 { $$ = new StatementNode( build_if( $3, $5, $7) ); }1084 { $$ = new StatementNode( build_if( $3, maybe_build_compound( $5 ), maybe_build_compound( $7 ) ) ); } 1085 1085 ; 1086 1086 … … 1130 1130 1131 1131 case_clause: // CFA 1132 case_label_list statement { $$ = $1->append_last_case( new StatementNode( build_compound( $2 )) ); }1132 case_label_list statement { $$ = $1->append_last_case( maybe_build_compound( $2 ) ); } 1133 1133 ; 1134 1134 … … 1148 1148 iteration_statement: 1149 1149 WHILE '(' push if_control_expression ')' statement pop 1150 { $$ = new StatementNode( build_while( $4, $6) ); }1150 { $$ = new StatementNode( build_while( $4, maybe_build_compound( $6 ) ) ); } 1151 1151 | WHILE '(' ')' statement // CFA => while ( 1 ) 1152 { $$ = new StatementNode( build_while( new IfCtrl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ), $4) ); }1152 { $$ = new StatementNode( build_while( new IfCtrl( nullptr, new ExpressionNode( build_constantInteger( *new string( "1" ) ) ) ), maybe_build_compound( $4 ) ) ); } 1153 1153 | DO statement WHILE '(' comma_expression ')' ';' 1154 { $$ = new StatementNode( build_do_while( $5, $2) ); }1154 { $$ = new StatementNode( build_do_while( $5, maybe_build_compound( $2 ) ) ); } 1155 1155 | DO statement WHILE '(' ')' ';' // CFA => do while( 1 ) 1156 { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), $2) ); }1156 { $$ = new StatementNode( build_do_while( new ExpressionNode( build_constantInteger( *new string( "1" ) ) ), maybe_build_compound( $2 ) ) ); } 1157 1157 | FOR '(' push for_control_expression_list ')' statement pop 1158 { $$ = new StatementNode( build_for( $4, $6) ); }1158 { $$ = new StatementNode( build_for( $4, maybe_build_compound( $6 ) ) ); } 1159 1159 | FOR '(' ')' statement // CFA => for ( ;; ) 1160 { $$ = new StatementNode( build_for( new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ), $4) ); }1160 { $$ = new StatementNode( build_for( new ForCtrl( (ExpressionNode * )nullptr, (ExpressionNode * )nullptr, (ExpressionNode * )nullptr ), maybe_build_compound( $4 ) ) ); } 1161 1161 ; 1162 1162 … … 1341 1341 waitfor_clause: 1342 1342 when_clause_opt waitfor statement %prec THEN 1343 { $$ = build_waitfor( $2, $3, $1 ); }1343 { $$ = build_waitfor( $2, maybe_build_compound( $3 ), $1 ); } 1344 1344 | when_clause_opt waitfor statement WOR waitfor_clause 1345 { $$ = build_waitfor( $2, $3, $1, $5 ); }1345 { $$ = build_waitfor( $2, maybe_build_compound( $3 ), $1, $5 ); } 1346 1346 | when_clause_opt timeout statement %prec THEN 1347 { $$ = build_waitfor_timeout( $2, $3, $1 ); }1347 { $$ = build_waitfor_timeout( $2, maybe_build_compound( $3 ), $1 ); } 1348 1348 | when_clause_opt ELSE statement 1349 { $$ = build_waitfor_timeout( nullptr, $3, $1 ); }1349 { $$ = build_waitfor_timeout( nullptr, maybe_build_compound( $3 ), $1 ); } 1350 1350 // "else" must be conditional after timeout or timeout is never triggered (i.e., it is meaningless) 1351 1351 | when_clause_opt timeout statement WOR ELSE statement 1352 1352 { SemanticError( yylloc, "else clause must be conditional after timeout or timeout never triggered." ); $$ = nullptr; } 1353 1353 | when_clause_opt timeout statement WOR when_clause ELSE statement 1354 { $$ = build_waitfor_timeout( $2, $3, $1, $7, $5 ); }1354 { $$ = build_waitfor_timeout( $2, maybe_build_compound( $3 ), $1, maybe_build_compound( $7 ), $5 ); } 1355 1355 ; 1356 1356
Note:
See TracChangeset
for help on using the changeset viewer.