Index: src/benchmark/csv-data.c
===================================================================
--- src/benchmark/csv-data.c	(revision 7286a408f438c0c5bd18219b01d3b4db4693234f)
+++ src/benchmark/csv-data.c	(revision 9bd6105039ae99629f8f39beb74fdf7643422d2a)
@@ -8,9 +8,9 @@
 coroutine GreatSuspender {};
 
-void ?{}( GreatSuspender * this ) {
+void ?{}( GreatSuspender & this ) {
 	prime(this);
 }
 
-void main( GreatSuspender * this )
+void main( GreatSuspender & this )
 {
 	while( true ) {
@@ -21,5 +21,5 @@
 void resumer( GreatSuspender * this, const unsigned int NoOfTimes ) {
 	for ( volatile unsigned int i = 0; i < NoOfTimes; i += 1 ) {
-		resume( this );
+		resume( *this );
 	}
 }
@@ -58,5 +58,5 @@
 // single monitor entry
 monitor mon_t {};
-void dummy( mon_t * mutex m ) {}
+void dummy( mon_t & mutex m ) {}
 
 long long int measure_1_monitor_entry() {
@@ -67,5 +67,5 @@
 	StartTime = Time();
 	for ( volatile unsigned int i = 0; i < NoOfTimes; i += 1 ) {
-		dummy( &mon );
+		dummy( mon );
 	}
 	EndTime = Time();
@@ -76,5 +76,5 @@
 //-----------------------------------------------------------------------------
 // multi monitor entry
-void dummy( mon_t * mutex m1,  mon_t * mutex m2 ) {}
+void dummy( mon_t & mutex m1,  mon_t & mutex m2 ) {}
 
 long long int measure_2_monitor_entry() {
@@ -85,5 +85,5 @@
 	StartTime = Time();
 	for ( volatile unsigned int i = 0; i < NoOfTimes; i += 1 ) {
-		dummy( &mon1, &mon2 );
+		dummy( mon1, mon2 );
 	}
 	EndTime = Time();
@@ -102,9 +102,9 @@
 thread thrd1b {};
 
-void ?{}( thrd1a * this, long long int * out ) {
-	this->out = out;
-}
-
-void side1A( mon_t * mutex a, long long int * out ) {
+void ?{}( thrd1a & this, long long int * out ) {
+	this.out = out;
+}
+
+void side1A( mon_t & mutex a, long long int * out ) {
 	long long int StartTime, EndTime;
 
@@ -120,5 +120,5 @@
 }
 
-void side1B( mon_t * mutex a ) {
+void side1B( mon_t & mutex a ) {
 	for( int i = 0;; i++ ) {
 		signal(&cond1b);
@@ -128,6 +128,6 @@
 }
 
-void main( thrd1a * this ) { side1A( &mon1, this->out ); }
-void main( thrd1b * this ) { side1B( &mon1 ); }
+void main( thrd1a & this ) { side1A( mon1, this.out ); }
+void main( thrd1b & this ) { side1B( mon1 ); }
 
 long long int measure_1_sched_int() {
@@ -150,9 +150,9 @@
 thread thrd2b {};
 
-void ?{}( thrd2a * this, long long int * out ) {
-	this->out = out;
-}
-
-void side2A( mon_t * mutex a, mon_t * mutex b, long long int * out ) {
+void ?{}( thrd2a & this, long long int * out ) {
+	this.out = out;
+}
+
+void side2A( mon_t & mutex a, mon_t & mutex b, long long int * out ) {
 	long long int StartTime, EndTime;
 
@@ -168,5 +168,5 @@
 }
 
-void side2B( mon_t * mutex a, mon_t * mutex b ) {
+void side2B( mon_t & mutex a, mon_t & mutex b ) {
 	for( int i = 0;; i++ ) {
 		signal(&cond2b);
@@ -176,6 +176,6 @@
 }
 
-void main( thrd2a * this ) { side2A( &mon1, &mon2, this->out ); }
-void main( thrd2b * this ) { side2B( &mon1, &mon2 ); }
+void main( thrd2a & this ) { side2A( mon1, mon2, this.out ); }
+void main( thrd2b & this ) { side2B( mon1, mon2 ); }
 
 long long int measure_2_sched_int() {
