Index: benchmark/ctxswitch/cfa_gen.cfa
===================================================================
--- benchmark/ctxswitch/cfa_gen.cfa	(revision 2316525c0ab1029715c0c8bc2f6fe53ca84525fe)
+++ benchmark/ctxswitch/cfa_gen.cfa	(revision 91571e51fbbd54c3310e740cc2fb3b8da3e53dfa)
@@ -1,23 +1,17 @@
 #include "../bench.h"
 
-typedef struct {
-	void * next;
-} C;
-
-void comain( C * c ) {
-	if ( __builtin_expect(c->next != 0, 1) ) goto *(c->next);
-	c->next = &&s1;
+generator G {};
+void main( G & ) {
 	for () {
-		return;
-	  s1: ;
+		suspend;
 	}
 }
 
 int main( int argc, char * argv[] ) {
+	G g;
 	BENCH_START()
-	C c = { 0 };
 	BENCH(
 		for ( times ) {
-			comain( &c );
+			resume( g );
 		},
 		result
