- Timestamp:
- Jul 11, 2017, 3:11:42 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- f2b12406
- Parents:
- 67f2170
- Location:
- src/tests
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
src/tests/preempt.c
r67f2170 r0322865c 12 12 static volatile int counter = 0; 13 13 14 thread Worker{14 thread worker_t { 15 15 int value; 16 16 }; 17 17 18 void ?{}( Worker* this, int value ) {18 void ?{}( worker_t * this, int value ) { 19 19 this->value = value; 20 20 } 21 21 22 void main( Worker* this) {22 void main(worker_t * this) { 23 23 while(counter < 1000) { 24 24 if( (counter % 7) == this->value ) { … … 32 32 processor p; 33 33 { 34 Workerw0 = 0;35 Workerw1 = 1;36 Workerw2 = 2;37 Workerw3 = 3;38 Workerw4 = 4;39 Workerw5 = 5;40 Workerw6 = 6;34 worker_t w0 = 0; 35 worker_t w1 = 1; 36 worker_t w2 = 2; 37 worker_t w3 = 3; 38 worker_t w4 = 4; 39 worker_t w5 = 5; 40 worker_t w6 = 6; 41 41 } 42 42 } -
src/tests/preempt_longrun/create.c
r67f2170 r0322865c 10 10 } 11 11 12 thread Worker{};12 thread worker_t {}; 13 13 14 void main( Worker* this) {}14 void main(worker_t * this) {} 15 15 16 16 int main(int argc, char* argv[]) { 17 for(int i = 0; i < 250_000ul; i++) {18 Worker w;17 for(int i = 0; i < 10_000ul; i++) { 18 worker_t w[7]; 19 19 } 20 20 } -
src/tests/preempt_longrun/enter.c
r67f2170 r0322865c 28 28 } 29 29 30 extern "C" { 31 static worker_t * workers; 32 } 33 30 34 int main(int argc, char * argv[] ) { 31 35 processor p; 32 36 { 33 37 worker_t w[7]; 38 workers = w; 34 39 } 35 40 } -
src/tests/preempt_longrun/enter3.c
r67f2170 r0322865c 28 28 } 29 29 30 extern "C" { 31 static worker_t * workers; 32 } 33 30 34 int main(int argc, char * argv[] ) { 31 35 processor p; 32 36 { 33 37 worker_t w[7]; 38 workers = w; 34 39 } 35 40 } -
src/tests/preempt_longrun/processor.c
r67f2170 r0322865c 10 10 } 11 11 12 thread Worker{};12 thread worker_t {}; 13 13 14 void main( Worker* this) {}14 void main(worker_t * this) {} 15 15 16 16 int main(int argc, char* argv[]) { -
src/tests/preempt_longrun/stack.c
r67f2170 r0322865c 12 12 } 13 13 14 thread Worker{};14 thread worker_t {}; 15 15 16 void main( Worker* this) {16 void main(worker_t * this) { 17 17 volatile long p = 5_021_609ul; 18 18 volatile long a = 326_417ul; 19 19 volatile long n = 1l; 20 for (volatile long i = 0; i < p; i++) { 21 n *= a; 22 n %= p; 20 for (volatile long i = 0; i < p; i++) { 21 n *= a; 22 n %= p; 23 23 } 24 24 25 25 if( n != a ) { 26 26 abort(); … … 28 28 } 29 29 30 extern "C" { 31 static worker_t * workers; 32 } 33 30 34 int main(int argc, char* argv[]) { 31 35 processor p; 32 36 { 33 Worker w[7]; 37 worker_t w[7]; 38 workers = w; 34 39 } 35 40 } -
src/tests/preempt_longrun/yield.c
r67f2170 r0322865c 10 10 } 11 11 12 thread Worker{};12 thread worker_t {}; 13 13 14 void main( Worker* this) {14 void main(worker_t * this) { 15 15 for(int i = 0; i < 325_000ul; i++) { 16 16 yield(); … … 18 18 } 19 19 20 extern "C" { 21 static worker_t * workers; 22 } 23 20 24 int main(int argc, char* argv[]) { 21 25 processor p; 22 26 { 23 Worker w[7]; 27 worker_t w[7]; 28 workers = w; 24 29 } 25 30 } -
src/tests/sched-int-disjoint.c
r67f2170 r0322865c 5 5 6 6 #ifndef N 7 #define N 10 0_0007 #define N 10_000 8 8 #endif 9 9 … … 42 42 43 43 void main( Barger * this ) { 44 while( !all_done ) { 44 while( !all_done ) { 45 45 barge( &data ); 46 yield(); 46 yield(); 47 47 } 48 48 } … … 53 53 wait( &cond ); 54 54 if( d->state != SIGNAL ) { 55 sout | "ERROR barging!" | endl; 55 sout | "ERROR barging!" | endl; 56 56 } 57 57 … … 85 85 bool running = data.counter < N && data.counter > 0; 86 86 if( data.state != SIGNAL && running ) { 87 sout | "ERROR Eager signal" | data.state | endl; 87 sout | "ERROR Eager signal" | data.state | endl; 88 88 } 89 89 } … … 92 92 93 93 void main( Signaller * this ) { 94 while( !all_done ) { 94 while( !all_done ) { 95 95 logic( &mut ); 96 yield(); 96 yield(); 97 97 } 98 98 } … … 111 111 sout | "All waiter done" | endl; 112 112 all_done = true; 113 } 113 } 114 114 }
Note: See TracChangeset
for help on using the changeset viewer.