source: benchmark/schedext/upp.cc@ 83ab931

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr no_list persistent-indexer pthread-emulation qualifiedEnum
Last change on this file since 83ab931 was bf71cfd, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Moved up many directories in source

  • Property mode set to 100644
File size: 532 bytes
Line 
1#include <cstdio>
2
3#include "bench.h"
4
5int argc;
6char** argv;
7volatile int go = 0;
8
9_Monitor M {
10public:
11 void __attribute__((noinline)) call() {}
12
13 int __attribute__((noinline)) wait() {
14 go = 1;
15 BENCH(
16 for (size_t i = 0; i < n; i++) {
17 _Accept(call);
18 },
19 result
20 )
21
22 printf("%llu\n", result);
23 go = 0;
24 return 0;
25 }
26};
27
28M m;
29
30_Task T {
31 void main() {
32 while(go == 0) { yield(); }
33 while(go == 1) { m.call(); }
34
35 }
36};
37
38int main(int margc, char* margv[]) {
39 argc = margc;
40 argv = margv;
41 T t;
42 return m.wait();
43}
Note: See TracBrowser for help on using the repository browser.