changeset 25:401bbab649d6

use NEXT to cbc_next
author anatofuz
date Fri, 02 Nov 2018 19:49:50 +0900
parents 434c28ad3b80
children 7c854b59b164
files src/core/cbc-interp.cbc
diffstat 1 files changed, 850 insertions(+), 846 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/cbc-interp.cbc	Fri Nov 02 18:53:01 2018 +0900
+++ b/src/core/cbc-interp.cbc	Fri Nov 02 19:49:50 2018 +0900
@@ -57,8 +57,12 @@
 
 static int tracing_enabled = 0;
 
+__code cbc_next(INTERP i){
+    goto NEXT(i);
+}
+
 __code cbc_no_op(INTERP i){
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_const_i8(INTERP i){
     goto cbc_const_i16(i);
@@ -73,7 +77,7 @@
 __code cbc_const_i64(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_BC_get_I64(i->cur_op, 2);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_const_n32(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "const_n32 NYI");
@@ -82,92 +86,92 @@
 __code cbc_const_n64(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_BC_get_N64(i->cur_op, 2);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_const_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_set(INTERP i){
     GET_REG(i->cur_op, 0,i) = GET_REG(i->cur_op, 2,i);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_extend_u8(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = (MVMuint64)GET_REG(i->cur_op, 2,i).u8;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_extend_u16(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = (MVMuint64)GET_REG(i->cur_op, 2,i).u16;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_extend_u32(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = (MVMuint64)GET_REG(i->cur_op, 2,i).u32;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_extend_i8(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)GET_REG(i->cur_op, 2,i).i8;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_extend_i16(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)GET_REG(i->cur_op, 2,i).i16;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_extend_i32(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)GET_REG(i->cur_op, 2,i).i32;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_u8(INTERP i){
     GET_REG(i->cur_op, 0,i).u8 = (MVMuint8)GET_REG(i->cur_op, 2,i).u64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_u16(INTERP i){
     GET_REG(i->cur_op, 0,i).u16 = (MVMuint16)GET_REG(i->cur_op, 2,i).u64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_u32(INTERP i){
     GET_REG(i->cur_op, 0,i).u32 = (MVMuint32)GET_REG(i->cur_op, 2,i).u64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_i8(INTERP i){
     GET_REG(i->cur_op, 0,i).i8 = (MVMint8)GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_i16(INTERP i){
     GET_REG(i->cur_op, 0,i).i16 = (MVMint16)GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_i32(INTERP i){
     GET_REG(i->cur_op, 0,i).i32 = (MVMint32)GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_extend_n32(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = (MVMnum64)GET_REG(i->cur_op, 2,i).n32;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_n32(INTERP i){
     GET_REG(i->cur_op, 0,i).n32 = (MVMnum32)GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_goto(INTERP i){
     i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 0);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_if_i(INTERP i){
     if (GET_REG(i->cur_op, 0,i).i64)
@@ -175,7 +179,7 @@
     else
         i->cur_op += 6;
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unless_i(INTERP i){
     if (GET_REG(i->cur_op, 0,i).i64)
@@ -183,7 +187,7 @@
     else
         i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 2);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_if_n(INTERP i){
     if (GET_REG(i->cur_op, 0,i).n64 != 0.0)
@@ -191,7 +195,7 @@
     else
         i->cur_op += 6;
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unless_n(INTERP i){
     if (GET_REG(i->cur_op, 0,i).n64 != 0.0)
@@ -199,7 +203,7 @@
     else
         i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 2);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_if_s(INTERP i){
     MVMString *str = GET_REG(i->cur_op, 0,i).s;
@@ -208,7 +212,7 @@
     else
         i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 2);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unless_s(INTERP i){
     MVMString *str = GET_REG(i->cur_op, 0,i).s;
@@ -217,7 +221,7 @@
     else
         i->cur_op += 6;
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_if_s0(INTERP i){
     MVMString *str = GET_REG(i->cur_op, 0,i).s;
@@ -226,7 +230,7 @@
     else
         i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 2);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unless_s0(INTERP i){
     MVMString *str = GET_REG(i->cur_op, 0,i).s;
@@ -235,7 +239,7 @@
     else
         i->cur_op += 6;
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_if_o(INTERP i){
     GC_SYNC_POINT(i->tc);
@@ -243,7 +247,7 @@
         i->bytecode_start + GET_UI32(i->cur_op, 2),
         i->cur_op + 6,
         0);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unless_o(INTERP i){
     GC_SYNC_POINT(i->tc);
@@ -251,7 +255,7 @@
         i->bytecode_start + GET_UI32(i->cur_op, 2),
         i->cur_op + 6,
         1);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_jumplist(INTERP i){
     MVMint64 num_labels = MVM_BC_get_I64(i->cur_op, 0);
@@ -268,7 +272,7 @@
             + (2 /* size of the goto instruction itself */));
     }
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlex(INTERP i){
     MVMFrame *f = i->tc->cur_frame;
@@ -297,7 +301,7 @@
         GET_REG(i->cur_op, 0,i) = GET_LEX(i->cur_op, 2, f,i);
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindlex(INTERP i){
     MVMFrame *f = i->tc->cur_frame;
@@ -322,25 +326,25 @@
         GET_LEX(i->cur_op, 0, f,i) = GET_REG(i->cur_op, 4,i);
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlex_ni(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_frame_find_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_reg_int64)->i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlex_nn(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_frame_find_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_reg_num64)->n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlex_ns(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_frame_find_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_reg_str)->s;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlex_no(INTERP i){
     MVMRegister *found = MVM_frame_find_lexical_by_name(i->tc,
@@ -354,35 +358,35 @@
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindlex_ni(INTERP i){
     MVM_frame_bind_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 0)),
         MVM_reg_int64, &(GET_REG(i->cur_op, 4,i)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindlex_nn(INTERP i){
     MVM_frame_bind_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 0)),
         MVM_reg_num64, &(GET_REG(i->cur_op, 4,i)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindlex_ns(INTERP i){
     MVM_frame_bind_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 0)),
         MVM_reg_str, &(GET_REG(i->cur_op, 4,i)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindlex_no(INTERP i){
     MVM_frame_bind_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 0)),
         MVM_reg_obj, &(GET_REG(i->cur_op, 4,i)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlex_ng(INTERP i){
     goto cbc_bindlex_ng(i);
@@ -395,13 +399,13 @@
     GET_REG(i->cur_op, 0,i).o = MVM_frame_getdynlex(i->tc, GET_REG(i->cur_op, 2,i).s,
             i->tc->cur_frame->caller);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_binddynlex(INTERP i){
     MVM_frame_binddynlex(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).o,
             i->tc->cur_frame->caller);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setlexvalue(INTERP i){
     MVMObject *code = GET_REG(i->cur_op, 0,i).o;
@@ -431,7 +435,7 @@
         MVM_exception_throw_adhoc(i->tc, "setstaticlex needs a code ref");
     }
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_lexprimspec(INTERP i){
     MVMObject *ctx  = GET_REG(i->cur_op, 2,i).o;
@@ -441,7 +445,7 @@
     GET_REG(i->cur_op, 0,i).i64 = MVM_frame_lexical_primspec(i->tc,
         ((MVMContext *)ctx)->body.context, name);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_return_i(INTERP i){
     if (MVM_spesh_log_is_logging(i->tc))
@@ -450,7 +454,7 @@
         MVM_RETURN_CALLER_FRAME);
     if (MVM_frame_try_return(i->tc) == 0)
         goto cbc_return_label(i);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_return_n(INTERP i){
     if (MVM_spesh_log_is_logging(i->tc))
@@ -459,7 +463,7 @@
         MVM_RETURN_CALLER_FRAME);
     if (MVM_frame_try_return(i->tc) == 0)
         goto cbc_return_label(i);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_return_s(INTERP i){
     if (MVM_spesh_log_is_logging(i->tc))
@@ -468,7 +472,7 @@
         MVM_RETURN_CALLER_FRAME);
     if (MVM_frame_try_return(i->tc) == 0)
         goto cbc_return_label(i);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_return_o(INTERP i){
     static MVMObject *value;
@@ -483,7 +487,7 @@
     MVM_args_set_result_obj(i->tc, value, MVM_RETURN_CALLER_FRAME);
     if (MVM_frame_try_return(i->tc) == 0)
         goto cbc_return_label(i);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_return(INTERP i){
     if (MVM_spesh_log_is_logging(i->tc))
@@ -491,58 +495,58 @@
     MVM_args_assert_void_return_ok(i->tc, MVM_RETURN_CALLER_FRAME);
     if (MVM_frame_try_return(i->tc) == 0)
         goto cbc_return_label(i);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eq_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 == GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ne_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 != GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lt_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 <  GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_le_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 <= GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_gt_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 >  GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ge_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 >= GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cmp_i(INTERP i){
     MVMint64 a = GET_REG(i->cur_op, 2,i).i64, b = GET_REG(i->cur_op, 4,i).i64;
     GET_REG(i->cur_op, 0,i).i64 = (a > b) - (a < b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_add_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 + GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sub_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 - GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_mul_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 * GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_div_i(INTERP i){
     MVMint64 num   = GET_REG(i->cur_op, 2,i).i64;
@@ -561,12 +565,12 @@
         GET_REG(i->cur_op, 0,i).i64 = num / denom;
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_div_u(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = GET_REG(i->cur_op, 2,i).u64 / GET_REG(i->cur_op, 4,i).u64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_mod_i(INTERP i){
     MVMint64 numer = GET_REG(i->cur_op, 2,i).i64;
@@ -575,73 +579,73 @@
         MVM_exception_throw_adhoc(i->tc, "Modulation by zero");
     GET_REG(i->cur_op, 0,i).i64 = numer % denom;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_mod_u(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = GET_REG(i->cur_op, 2,i).u64 % GET_REG(i->cur_op, 4,i).u64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_neg_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = -GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_abs_i(INTERP i){
     MVMint64 v = GET_REG(i->cur_op, 2,i).i64, mask = v >> 63;
     GET_REG(i->cur_op, 0,i).i64 = (v + mask) ^ mask;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_inc_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64++;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_inc_u(INTERP i){
     GET_REG(i->cur_op, 0,i).u64++;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_dec_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64--;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_dec_u(INTERP i){
     GET_REG(i->cur_op, 0,i).u64--;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_band_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 & GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bor_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 | GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bxor_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 ^ GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bnot_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = ~GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_blshift_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 << GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_brshift_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 >> GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_pow_i(INTERP i){
         MVMint64 base = GET_REG(i->cur_op, 2,i).i64;
@@ -661,12 +665,12 @@
         }
         GET_REG(i->cur_op, 0,i).i64 = result;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_not_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).i64 ? 0 : 1;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_gcd_i(INTERP i){
     MVMint64 a = labs(GET_REG(i->cur_op, 2,i).i64), b = labs(GET_REG(i->cur_op, 4,i).i64), c;
@@ -675,7 +679,7 @@
     }
     GET_REG(i->cur_op, 0,i).i64 = a;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_lcm_i(INTERP i){
     MVMint64 a = GET_REG(i->cur_op, 2,i).i64, b = GET_REG(i->cur_op, 4,i).i64, c, a_ = a, b_ = b;
@@ -685,75 +689,75 @@
     c = a;
     GET_REG(i->cur_op, 0,i).i64 = a_ / c * b_;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_eq_n(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).n64 == GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ne_n(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).n64 != GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lt_n(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).n64 <  GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_le_n(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).n64 <= GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_gt_n(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).n64 >  GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ge_n(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).n64 >= GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cmp_n(INTERP i){
     MVMnum64 a = GET_REG(i->cur_op, 2,i).n64, b = GET_REG(i->cur_op, 4,i).n64;
     GET_REG(i->cur_op, 0,i).i64 = (a > b) - (a < b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_add_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = GET_REG(i->cur_op, 2,i).n64 + GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sub_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = GET_REG(i->cur_op, 2,i).n64 - GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_mul_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = GET_REG(i->cur_op, 2,i).n64 * GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_div_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = GET_REG(i->cur_op, 2,i).n64 / GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_mod_n(INTERP i){
     MVMnum64 a = GET_REG(i->cur_op, 2,i).n64;
     MVMnum64 b = GET_REG(i->cur_op, 4,i).n64;
     GET_REG(i->cur_op, 0,i).n64 = b == 0 ? a : a - b * floor(a / b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_neg_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = -GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_abs_n(INTERP i){
     {
@@ -763,133 +767,133 @@
         GET_REG(i->cur_op, 0,i).n64 = num;
         i->cur_op += 4;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_pow_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = pow(GET_REG(i->cur_op, 2,i).n64, GET_REG(i->cur_op, 4,i).n64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ceil_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = ceil(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_floor_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = floor(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sin_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = sin(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asin_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = asin(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cos_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = cos(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_acos_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = acos(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_tan_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = tan(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atan_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = atan(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atan2_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = atan2(GET_REG(i->cur_op, 2,i).n64,
         GET_REG(i->cur_op, 4,i).n64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sec_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = 1.0 / cos(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asec_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = acos(1.0 / GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sinh_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = sinh(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cosh_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = cosh(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_tanh_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = tanh(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sech_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = 1.0 / cosh(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sqrt_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = sqrt(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_log_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = log(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_exp_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = exp(GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_in(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = (MVMnum64)GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_ni(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_is(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_coerce_i_s(i->tc, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coerce_ns(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_coerce_n_s(i->tc, GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coerce_si(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_coerce_s_i(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_sn(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_coerce_s_n(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_smrt_numify(INTERP i){
     /* Increment PC before calling coercer, as it may make
@@ -898,7 +902,7 @@
     MVMRegister *res = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_coerce_smart_numify(i->tc, obj, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_smrt_strify(INTERP i){
     /* Increment PC before calling coercer, as it may make
@@ -907,7 +911,7 @@
     MVMRegister *res = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_coerce_smart_stringify(i->tc, obj, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_prepargs(INTERP i){
     /* Store callsite in the frame so that the GC knows how to mark
@@ -917,43 +921,43 @@
     i->cur_callsite =i->cu->body.callsites[GET_UI16(i->cur_op, 0)];
     i->tc->cur_frame->cur_args_callsite = i->cur_callsite;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_arg_i(INTERP i){
     i->tc->cur_frame->args[GET_UI16(i->cur_op, 0)].i64 = GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_arg_n(INTERP i){
     i->tc->cur_frame->args[GET_UI16(i->cur_op, 0)].n64 = GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_arg_s(INTERP i){
     i->tc->cur_frame->args[GET_UI16(i->cur_op, 0)].s = GET_REG(i->cur_op, 2,i).s;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_arg_o(INTERP i){
     i->tc->cur_frame->args[GET_UI16(i->cur_op, 0)].o = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_argconst_i(INTERP i){
     i->tc->cur_frame->args[GET_UI16(i->cur_op, 0)].i64 = MVM_BC_get_I64(i->cur_op, 2);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_argconst_n(INTERP i){
     i->tc->cur_frame->args[GET_UI16(i->cur_op, 0)].n64 = MVM_BC_get_N64(i->cur_op, 2);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_argconst_s(INTERP i){
     i->tc->cur_frame->args[GET_UI16(i->cur_op, 0)].s =
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_invoke_v(INTERP i){
         MVMObject   *code = GET_REG(i->cur_op, 0,i).o;
@@ -973,7 +977,7 @@
         i->cur_op += 2;
         i->tc->cur_frame->return_address = i->cur_op;
         STABLE(code)->invoke(i->tc, code, i->cur_callsite, args);
-	goto NEXT(i);
+	goto cbc_next(i);
 }
 __code cbc_invoke_i(INTERP i){
         MVMObject   *code = GET_REG(i->cur_op, 2,i).o;
@@ -991,7 +995,7 @@
         i->cur_op += 4;
         i->tc->cur_frame->return_address = i->cur_op;
         STABLE(code)->invoke(i->tc, code, i->cur_callsite, args);
-	goto NEXT(i);
+	goto cbc_next(i);
 }
 __code cbc_invoke_n(INTERP i){
         MVMObject   *code = GET_REG(i->cur_op, 2,i).o;
@@ -1009,7 +1013,7 @@
         i->cur_op += 4;
         i->tc->cur_frame->return_address = i->cur_op;
         STABLE(code)->invoke(i->tc, code, i->cur_callsite, args);
-	goto NEXT(i);
+	goto cbc_next(i);
 
 }
 __code cbc_invoke_s(INTERP i){
@@ -1028,7 +1032,7 @@
         i->cur_op += 4;
         i->tc->cur_frame->return_address = i->cur_op;
         STABLE(code)->invoke(i->tc, code, i->cur_callsite, args);
-        goto NEXT(i);
+        goto cbc_next(i);
 }
 __code cbc_invoke_o(INTERP i){
         MVMObject   *code = GET_REG(i->cur_op, 2,i).o;
@@ -1046,30 +1050,30 @@
         i->cur_op += 4;
         i->tc->cur_frame->return_address = i->cur_op;
         STABLE(code)->invoke(i->tc, code, i->cur_callsite, args);
-	    goto NEXT(i);
+	    goto cbc_next(i);
 }
 __code cbc_checkarity(INTERP i){
     MVM_args_checkarity(i->tc, &i->tc->cur_frame->params, GET_UI16(i->cur_op, 0), GET_UI16(i->cur_op, 2));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rp_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_args_get_required_pos_int(i->tc, &i->tc->cur_frame->params,
         GET_UI16(i->cur_op, 2));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rp_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_args_get_pos_num(i->tc, &i->tc->cur_frame->params,
         GET_UI16(i->cur_op, 2), MVM_ARG_REQUIRED).arg.n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rp_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_args_get_required_pos_str(i->tc, &i->tc->cur_frame->params,
         GET_UI16(i->cur_op, 2));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rp_o(INTERP i){
     MVMuint16 arg_idx = GET_UI16(i->cur_op, 2);
@@ -1078,7 +1082,7 @@
     if (MVM_spesh_log_is_logging(i->tc))
         MVM_spesh_log_parameter(i->tc, arg_idx, param);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_op_i(INTERP i){
             {
@@ -1091,7 +1095,7 @@
     else {
         i->cur_op += 8;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 }
 __code cbc_param_op_n(INTERP i){
@@ -1104,7 +1108,7 @@
     else {
         i->cur_op += 8;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_op_s(INTERP i){
             {
@@ -1117,7 +1121,7 @@
     else {
         i->cur_op += 8;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 }
 __code cbc_param_op_o(INTERP i){
@@ -1133,26 +1137,26 @@
     else {
         i->cur_op += 8;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             
 }
 __code cbc_param_rn_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_args_get_named_int(i->tc, &i->tc->cur_frame->params,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_ARG_REQUIRED).arg.i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rn_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_args_get_named_num(i->tc, &i->tc->cur_frame->params,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_ARG_REQUIRED).arg.n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rn_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_args_get_named_str(i->tc, &i->tc->cur_frame->params,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_ARG_REQUIRED).arg.s;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rn_o(INTERP i){
     MVMArgInfo param = MVM_args_get_named_obj(i->tc, &i->tc->cur_frame->params,
@@ -1161,7 +1165,7 @@
     if (MVM_spesh_log_is_logging(i->tc))
         MVM_spesh_log_parameter(i->tc, param.arg_idx, param.arg.o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_on_i(INTERP i){
     MVMArgInfo param = MVM_args_get_named_int(i->tc, &i->tc->cur_frame->params,
@@ -1173,7 +1177,7 @@
     else {
         i->cur_op += 10;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_on_n(INTERP i){
     MVMArgInfo param = MVM_args_get_named_num(i->tc, &i->tc->cur_frame->params,
@@ -1185,7 +1189,7 @@
     else {
         i->cur_op += 10;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_on_s(INTERP i){
     MVMArgInfo param = MVM_args_get_named_str(i->tc, &i->tc->cur_frame->params,
@@ -1197,7 +1201,7 @@
     else {
         i->cur_op += 10;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_on_o(INTERP i){
     MVMArgInfo param = MVM_args_get_named_obj(i->tc, &i->tc->cur_frame->params,
@@ -1211,22 +1215,22 @@
     else {
         i->cur_op += 10;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_sp(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_args_slurpy_positional(i->tc, &i->tc->cur_frame->params, GET_UI16(i->cur_op, 2));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_sn(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_args_slurpy_named(i->tc, &i->tc->cur_frame->params);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getcode(INTERP i){
     GET_REG(i->cur_op, 0,i).o =i->cu->body.coderefs[GET_UI16(i->cur_op, 2)];
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_caller(INTERP i){
     MVMFrame *caller = i->tc->cur_frame;
@@ -1238,12 +1242,12 @@
     GET_REG(i->cur_op, 0,i).o = caller ? caller->code_ref : i->tc->instance->VMNull;
 
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_capturelex(INTERP i){
     MVM_frame_capturelex(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_takeclosure(INTERP i){
     (i->reg_base[*((MVMuint16 *)(i->cur_op + 0))]).o = MVM_frame_takeclosure(i->tc, GET_REG(i->cur_op, 2,i).o);
@@ -1251,14 +1255,14 @@
     //GET_REG(i->cur_op, 0,i).o = MVM_frame_takeclosure(i->tc, GET_REG(i->cur_op, 2,i).o);
     //GET_REG(i->cur_op,0,i).o = tmp_base;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_exception(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->active_handlers
         ? i->tc->active_handlers->ex_obj
         : i->tc->instance->VMNull;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindexmessage(INTERP i){
     MVMObject *ex = GET_REG(i->cur_op, 0,i).o;
@@ -1270,19 +1274,19 @@
         MVM_exception_throw_adhoc(i->tc, "bindexmessage needs a VMException, got %s (%s)", REPR(ex)->name, MVM_6model_get_debug_name(i->tc, ex));
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindexpayload(INTERP i){
     MVMObject *ex = GET_REG(i->cur_op, 0,i).o;
     MVM_bind_exception_payload(i->tc, ex, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindexcategory(INTERP i){
     MVMObject *ex = GET_REG(i->cur_op, 0,i).o;
     MVM_bind_exception_category(i->tc, ex, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getexmessage(INTERP i){
     MVMObject *ex = GET_REG(i->cur_op, 2,i).o;
@@ -1291,77 +1295,77 @@
     else
         MVM_exception_throw_adhoc(i->tc, "getexmessage needs a VMException, got %s (%s)", REPR(ex)->name, MVM_6model_get_debug_name(i->tc, ex));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getexpayload(INTERP i){
     MVMObject *ex = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_get_exception_payload(i->tc, ex);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getexcategory(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_get_exception_category(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwdyn(INTERP i){
     MVMRegister *rr     = &GET_REG(i->cur_op, 0,i);
     MVMObject   *ex_obj = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
     MVM_exception_throwobj(i->tc, MVM_EX_THROW_DYN, ex_obj, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwlex(INTERP i){
     MVMRegister *rr     = &GET_REG(i->cur_op, 0,i);
     MVMObject   *ex_obj = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
     MVM_exception_throwobj(i->tc, MVM_EX_THROW_LEX, ex_obj, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwlexotic(INTERP i){
     MVMRegister *rr     = &GET_REG(i->cur_op, 0,i);
     MVMObject   *ex_obj = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
     MVM_exception_throwobj(i->tc, MVM_EX_THROW_LEXOTIC, ex_obj, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwcatdyn(INTERP i){
     MVMRegister *rr  = &GET_REG(i->cur_op, 0,i);
     MVMuint32    cat = (MVMuint32)MVM_BC_get_I64(i->cur_op, 2);
     i->cur_op += 4;
     MVM_exception_throwcat(i->tc, MVM_EX_THROW_DYN, cat, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwcatlex(INTERP i){
     MVMRegister *rr  = &GET_REG(i->cur_op, 0,i);
     MVMuint32    cat = (MVMuint32)MVM_BC_get_I64(i->cur_op, 2);
     i->cur_op += 4;
     MVM_exception_throwcat(i->tc, MVM_EX_THROW_LEX, cat, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwcatlexotic(INTERP i){
     MVMRegister *rr  = &GET_REG(i->cur_op, 0,i);
     MVMuint32    cat = (MVMuint32)MVM_BC_get_I64(i->cur_op, 2);
     i->cur_op += 4;
     MVM_exception_throwcat(i->tc, MVM_EX_THROW_LEXOTIC, cat, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_die(INTERP i){
     MVMRegister  *rr = &GET_REG(i->cur_op, 0,i);
     MVMString   *str =  GET_REG(i->cur_op, 2,i).s;
     i->cur_op += 4;
     MVM_exception_die(i->tc, str, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_rethrow(INTERP i){
     MVM_exception_throwobj(i->tc, MVM_EX_THROW_DYN, GET_REG(i->cur_op, 0,i).o, NULL);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_resume(INTERP i){
     /* Expect that resume will set the PC, so don't update i->cur_op
      * here. */
     MVM_exception_resume(i->tc, GET_REG(i->cur_op, 0,i).o);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_takehandlerresult(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->last_handler_result
@@ -1369,23 +1373,23 @@
         : i->tc->instance->VMNull;
     i->tc->last_handler_result = NULL;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_backtracestrings(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_exception_backtrace_strings(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_usecapture(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_args_use_capture(i->tc, i->tc->cur_frame);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_savecapture(INTERP i){
     /* Create a new call capture object. */
     GET_REG(i->cur_op, 0,i).o = MVM_args_save_capture(i->tc, i->tc->cur_frame);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_captureposelems(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1397,7 +1401,7 @@
         MVM_exception_throw_adhoc(i->tc, "captureposelems needs a MVMCallCapture");
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_captureposarg(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1410,7 +1414,7 @@
         MVM_exception_throw_adhoc(i->tc, "captureposarg needs a MVMCallCapture");
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_captureposarg_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1423,7 +1427,7 @@
         MVM_exception_throw_adhoc(i->tc, "captureposarg_i needs a MVMCallCapture");
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_captureposarg_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1436,7 +1440,7 @@
         MVM_exception_throw_adhoc(i->tc, "captureposarg_n needs a MVMCallCapture");
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_captureposarg_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1449,7 +1453,7 @@
         MVM_exception_throw_adhoc(i->tc, "captureposarg_s needs a MVMCallCapture");
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_captureposprimspec(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1484,7 +1488,7 @@
         MVM_exception_throw_adhoc(i->tc, "captureposprimspec needs a MVMCallCapture");
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_captureexistsnamed(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1497,7 +1501,7 @@
         MVM_exception_throw_adhoc(i->tc, "captureexistsnamed needs a MVMCallCapture");
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_capturehasnameds(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -1511,7 +1515,7 @@
         MVM_exception_throw_adhoc(i->tc, "capturehasnameds needs a MVMCallCapture");
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_invokewithcapture(INTERP i){
     static MVMObject *cobj;
@@ -1540,71 +1544,71 @@
     else {
         MVM_exception_throw_adhoc(i->tc, "invokewithcapture needs a MVMCallCapture");
     }
-	goto NEXT(i);
+	goto cbc_next(i);
 }
 __code cbc_multicacheadd(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_multi_cache_add(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_multicachefind(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_multi_cache_find(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_null_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = NULL;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_isnull_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).s ? 0 : 1;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eq_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_equal(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ne_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)(MVM_string_equal(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s)? 0 : 1);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_gt_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_compare(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s) == 1;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ge_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_compare(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s) >= 0;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lt_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_compare(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s) == -1;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_le_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_compare(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s) <= 0;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cmp_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_compare(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unicmp_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_unicode_string_compare(i->tc,
@@ -1612,28 +1616,28 @@
         GET_REG(i->cur_op,  6,i).i64, GET_REG(i->cur_op, 8,i).i64,
         GET_REG(i->cur_op, 10,i).i64);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eqat_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_equal_at(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eqatic_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_equal_at_ignore_case(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eqaticim_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_equal_at_ignore_case_ignore_mark(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_haveat_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_have_at(i->tc,
@@ -1641,108 +1645,108 @@
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).s,
         GET_REG(i->cur_op, 10,i).i64);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_concat_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_concatenate(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_repeat_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_repeat(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_substr_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_substring(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_index_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_index(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_indexic_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_index_ignore_case(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_indexicim_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_index_ignore_case_ignore_mark(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_graphs_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_graphs(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_codes_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_codes(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getcp_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_get_grapheme_at(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_indexcp_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_index_of_grapheme(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_uc(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_uc(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lc(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_lc(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_tc(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_tc(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_split(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_string_split(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_join(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_join(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getcpbyname(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_unicode_lookup_by_name(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getstrfromname(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_unicode_string_from_name(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_indexat(INTERP i){
     /* branches on *failure* to mai->tch in the constant string, to save an instruction in regexes */
@@ -1753,7 +1757,7 @@
     else
         i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 8);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_indexnat(INTERP i){
     /* branches on *failure* to mai->tch in the constant string, to save an instruction in regexes */
@@ -1764,110 +1768,110 @@
     else
         i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 8);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unipropcode(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)MVM_unicode_name_to_property_code(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unipvalcode(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)MVM_unicode_name_to_property_value_code(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hasuniprop(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_offset_has_unicode_property_value(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64,
         GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hasunipropc(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_offset_has_unicode_property_value(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, (MVMint64)GET_UI16(i->cur_op, 6),
         (MVMint64)GET_UI16(i->cur_op, 8));
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_chars(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_graphs(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_chr(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_chr(i->tc, (MVMCodepoint)GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ordfirst(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_ord_at(i->tc, GET_REG(i->cur_op, 2,i).s, 0);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ordat(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_ord_at(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_rindexfrom(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_index_from_end(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_escape(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_escape(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_flip(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_flip(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_setbuffersize_fh(INTERP i){
     MVM_io_set_buffer_size(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_iscclass(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_is_cclass(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_findcclass(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_find_cclass(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_findnotcclass(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_find_not_cclass(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nfafromstatelist(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nfa_from_statelist(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nfarunproto(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nfa_run_proto(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nfarunalt(INTERP i){
     MVM_nfa_run_alt(i->tc, GET_REG(i->cur_op, 0,i).o,
@@ -1875,47 +1879,47 @@
         GET_REG(i->cur_op, 6,i).o, GET_REG(i->cur_op, 8,i).o,
         GET_REG(i->cur_op, 10,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_radix(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_radix(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_encode(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_string_encode_to_buf(i->tc, GET_REG(i->cur_op, 2,i).s,
         GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).o, NULL);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_decode(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_decode_from_buf(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_istrue_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_coerce_istrue_s(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_isfalse_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_coerce_istrue_s(i->tc, GET_REG(i->cur_op, 2,i).s) ? 0 : 1;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_null(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_isnull(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MVM_is_null(i->tc, obj);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ifnonnull(INTERP i){
     if (MVM_is_null(i->tc, GET_REG(i->cur_op, 0,i).o))
@@ -1923,7 +1927,7 @@
     else
         i->cur_op = i->bytecode_start + GET_UI32(i->cur_op, 2);
     GC_SYNC_POINT(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_findmeth(INTERP i){
     /* Increment PC first, as we may make a method call. */
@@ -1932,7 +1936,7 @@
     MVMString   *name = MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 4));
     i->cur_op += 8;
     MVM_6model_find_method(i->tc, obj, name, res, 1);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_findmeth_s(INTERP i){
     /* Increment PC first, as we may make a method call. */
@@ -1941,7 +1945,7 @@
     MVMString   *name = GET_REG(i->cur_op, 4,i).s;
     i->cur_op += 6;
     MVM_6model_find_method(i->tc, obj, name, res, 1);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_can(INTERP i){
     /* Increment PC first, as we may make a method call. */
@@ -1950,7 +1954,7 @@
     MVMString   *name = MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 4));
     i->cur_op += 8;
     MVM_6model_can_method(i->tc, obj, name, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_can_s(INTERP i){
     /* Increment PC first, as we may make a method call. */
@@ -1959,7 +1963,7 @@
     MVMString   *name = GET_REG(i->cur_op, 4,i).s;
     i->cur_op += 6;
     MVM_6model_can_method(i->tc, obj, name, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_create(INTERP i){
     /* Ordering here matters. We write the object into the
@@ -1975,7 +1979,7 @@
     if (REPR(obj)->initialize)
         REPR(obj)->initialize(i->tc, STABLE(obj), obj, OBJECT_BODY(obj));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_clone(INTERP i){
     static MVMObject *value;
@@ -1997,13 +2001,13 @@
         GET_REG(i->cur_op, 0,i).o = value;
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isconcrete(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = obj && IS_CONCRETE(obj) ? 1 : 0;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_rebless(INTERP i){
     if (!REPR(GET_REG(i->cur_op, 2,i).o)->change_type) {
@@ -2014,7 +2018,7 @@
     MVM_SC_WB_OBJ(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 6;
     MVM_spesh_deopt_all(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_istype(INTERP i){
     /* Increment PC first, as we may make a method call. */
@@ -2023,7 +2027,7 @@
     MVMObject   *type = GET_REG(i->cur_op, 4,i).o;
     i->cur_op += 6;
     MVM_6model_istype(i->tc, obj, type, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_objprimspec(INTERP i){
     MVMObject *type = GET_REG(i->cur_op, 2,i).o;
@@ -2035,47 +2039,47 @@
         GET_REG(i->cur_op, 0,i).i64 = 0;
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_gethow(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_6model_get_how(i->tc,
         STABLE(GET_REG(i->cur_op, 2,i).o));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getwhat(INTERP i){
     GET_REG(i->cur_op, 0,i).o = STABLE(GET_REG(i->cur_op, 2,i).o)->WHAT;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getwho(INTERP i){
     MVMObject *who = STABLE(GET_REG(i->cur_op, 2,i).o)->WHO;
     GET_REG(i->cur_op, 0,i).o = who ? who : i->tc->instance->VMNull;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setwho(INTERP i){
     MVMSTable *st = STABLE(GET_REG(i->cur_op, 2,i).o);
     MVM_ASSIGN_REF(i->tc, &(st->header), st->WHO, GET_REG(i->cur_op, 4,i).o);
     GET_REG(i->cur_op, 0,i).o = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_reprname(INTERP i){
     const MVMREPROps *repr = REPR(GET_REG(i->cur_op, 2,i).o);
     GET_REG(i->cur_op, 0,i).s = i->tc->instance->repr_list[repr->ID]->name;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getwhere(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eqaddr(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_REG(i->cur_op, 2,i).o == GET_REG(i->cur_op, 4,i).o ? 1 : 0;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindattr_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2087,7 +2091,7 @@
         GET_I16(i->cur_op, 10), GET_REG(i->cur_op, 8,i), MVM_reg_int64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindattr_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2099,7 +2103,7 @@
         GET_I16(i->cur_op, 10), GET_REG(i->cur_op, 8,i), MVM_reg_num64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindattr_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2111,7 +2115,7 @@
         GET_I16(i->cur_op, 10), GET_REG(i->cur_op, 8,i), MVM_reg_str);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindattr_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2123,7 +2127,7 @@
         GET_I16(i->cur_op, 10), GET_REG(i->cur_op, 8,i), MVM_reg_obj);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindattrs_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2135,7 +2139,7 @@
         -1, GET_REG(i->cur_op, 6,i), MVM_reg_int64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindattrs_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2147,7 +2151,7 @@
         -1, GET_REG(i->cur_op, 6,i), MVM_reg_num64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindattrs_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2159,7 +2163,7 @@
         -1, GET_REG(i->cur_op, 6,i), MVM_reg_str);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindattrs_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2171,7 +2175,7 @@
         -1, GET_REG(i->cur_op, 6,i), MVM_reg_obj);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattr_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2182,7 +2186,7 @@
         GET_REG(i->cur_op, 4,i).o, MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)),
         GET_I16(i->cur_op, 10), &GET_REG(i->cur_op, 0,i), MVM_reg_int64);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattr_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2193,7 +2197,7 @@
         GET_REG(i->cur_op, 4,i).o, MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)),
         GET_I16(i->cur_op, 10), &GET_REG(i->cur_op, 0,i), MVM_reg_num64);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattr_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2204,7 +2208,7 @@
         GET_REG(i->cur_op, 4,i).o, MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)),
         GET_I16(i->cur_op, 10), &GET_REG(i->cur_op, 0,i), MVM_reg_str);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattr_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2217,7 +2221,7 @@
     if (MVM_spesh_log_is_logging(i->tc))
         MVM_spesh_log_type(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattrs_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2228,7 +2232,7 @@
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s,
         -1, &GET_REG(i->cur_op, 0,i), MVM_reg_int64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattrs_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2239,7 +2243,7 @@
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s,
         -1, &GET_REG(i->cur_op, 0,i), MVM_reg_num64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattrs_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2250,7 +2254,7 @@
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s,
         -1, &GET_REG(i->cur_op, 0,i), MVM_reg_str);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getattrs_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2263,7 +2267,7 @@
     if (MVM_spesh_log_is_logging(i->tc))
         MVM_spesh_log_type(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_attrinited(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2273,24 +2277,24 @@
         STABLE(obj), OBJECT_BODY(obj),
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s, MVM_NO_HINT);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_box_i(INTERP i){
     MVM_box_int(i->tc, GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).o,
                 &GET_REG(i->cur_op, 0,i));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_box_n(INTERP i){
     MVM_box_num(i->tc, GET_REG(i->cur_op, 2,i).n64, GET_REG(i->cur_op, 4,i).o,
                 &GET_REG(i->cur_op, 0,i));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_box_s(INTERP i){
      MVM_box_str(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).o, &GET_REG(i->cur_op, 0,i));
      i->cur_op += 6;
-     goto NEXT(i);
+     goto cbc_next(i);
             }
 __code cbc_unbox_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2299,7 +2303,7 @@
     GET_REG(i->cur_op, 0,i).i64 = REPR(obj)->box_funcs.get_int(i->tc,
         STABLE(obj), obj, OBJECT_BODY(obj));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unbox_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2308,7 +2312,7 @@
     GET_REG(i->cur_op, 0,i).n64 = REPR(obj)->box_funcs.get_num(i->tc,
         STABLE(obj), obj, OBJECT_BODY(obj));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unbox_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2317,7 +2321,7 @@
     GET_REG(i->cur_op, 0,i).s = REPR(obj)->box_funcs.get_str(i->tc,
         STABLE(obj), obj, OBJECT_BODY(obj));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atpos_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2325,7 +2329,7 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 4,i).i64,
         &GET_REG(i->cur_op, 0,i), MVM_reg_int64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atpos_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2333,7 +2337,7 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 4,i).i64,
         &GET_REG(i->cur_op, 0,i), MVM_reg_num64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atpos_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2341,7 +2345,7 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 4,i).i64,
         &GET_REG(i->cur_op, 0,i), MVM_reg_str);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atpos_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2352,7 +2356,7 @@
     else
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindpos_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2361,7 +2365,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_int64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindpos_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2370,7 +2374,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_num64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindpos_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2379,7 +2383,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_str);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindpos_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2388,7 +2392,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_obj);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_push_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2396,7 +2400,7 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_int64);
     MVM_SC_WB_OBJ(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_push_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2404,7 +2408,7 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_num64);
     MVM_SC_WB_OBJ(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_push_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2412,7 +2416,7 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_str);
     MVM_SC_WB_OBJ(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_push_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2420,91 +2424,91 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_obj);
     MVM_SC_WB_OBJ(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_pop_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.pop(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_int64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_pop_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.pop(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_num64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_pop_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.pop(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_str);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_pop_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.pop(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_obj);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_shift_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.shift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_int64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_shift_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.shift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_num64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_shift_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.shift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_str);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_shift_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->pos_funcs.shift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), &GET_REG(i->cur_op, 0,i), MVM_reg_obj);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unshift_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
     REPR(obj)->pos_funcs.unshift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_int64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unshift_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
     REPR(obj)->pos_funcs.unshift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_num64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unshift_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
     REPR(obj)->pos_funcs.unshift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_str);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unshift_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
     REPR(obj)->pos_funcs.unshift(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i), MVM_reg_obj);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_splice(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2512,41 +2516,41 @@
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setelemspos(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
     REPR(obj)->pos_funcs.set_elems(i->tc, STABLE(obj), obj,
         OBJECT_BODY(obj), GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_existspos(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_repr_exists_pos(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atkey_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->ass_funcs.at_key(i->tc, STABLE(obj), obj, OBJECT_BODY(obj),
         (MVMObject *)GET_REG(i->cur_op, 4,i).s, &GET_REG(i->cur_op, 0,i), MVM_reg_int64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atkey_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->ass_funcs.at_key(i->tc, STABLE(obj), obj, OBJECT_BODY(obj),
         (MVMObject *)GET_REG(i->cur_op, 4,i).s, &GET_REG(i->cur_op, 0,i), MVM_reg_num64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atkey_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->ass_funcs.at_key(i->tc, STABLE(obj), obj, OBJECT_BODY(obj),
         (MVMObject *)GET_REG(i->cur_op, 4,i).s, &GET_REG(i->cur_op, 0,i), MVM_reg_str);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atkey_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2556,7 +2560,7 @@
     else
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindkey_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2565,7 +2569,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_int64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindkey_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2574,7 +2578,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_num64);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindkey_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2583,7 +2587,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_str);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindkey_o(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2592,7 +2596,7 @@
         GET_REG(i->cur_op, 4,i), MVM_reg_obj);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_existskey(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -2600,7 +2604,7 @@
         STABLE(obj), obj, OBJECT_BODY(obj),
         (MVMObject *)GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_deletekey(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2608,23 +2612,23 @@
         OBJECT_BODY(obj), (MVMObject *)GET_REG(i->cur_op, 2,i).s);
     MVM_SC_WB_OBJ(i->tc, obj);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_elems(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)REPR(obj)->elems(i->tc, STABLE(obj), obj, OBJECT_BODY(obj));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_knowhow(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->KnowHOW;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_knowhowattr(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->KnowHOWAttribute;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_newtype(INTERP i){
     MVMObject *how = GET_REG(i->cur_op, 2,i).o;
@@ -2632,14 +2636,14 @@
     const MVMREPROps *repr = MVM_repr_get_by_name(i->tc, repr_name);
     GET_REG(i->cur_op, 0,i).o = repr->type_object_for(i->tc, how);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_composetype(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     REPR(obj)->compose(i->tc, STABLE(obj), GET_REG(i->cur_op, 4,i).o);
     GET_REG(i->cur_op, 0,i).o = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setmethcache(INTERP i){
     static MVMObject *iter;
@@ -2664,7 +2668,7 @@
     MVM_SC_WB_ST(i->tc, stable);
 
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setmethcacheauth(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2675,7 +2679,7 @@
     STABLE(obj)->mode_flags = new_flags;
     MVM_SC_WB_ST(i->tc, STABLE(obj));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_settypecache(INTERP i){
     MVMObject *obj    = GET_REG(i->cur_op, 0,i).o;
@@ -2693,7 +2697,7 @@
     st->type_check_cache_length = (MVMuint16)elems;
     MVM_SC_WB_ST(i->tc, st);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_settypecheckmode(INTERP i){
     MVMSTable *st = STABLE(GET_REG(i->cur_op, 0,i).o);
@@ -2701,7 +2705,7 @@
         (st->mode_flags & (~MVM_TYPE_CHECK_CACHE_FLAG_MASK));
     MVM_SC_WB_ST(i->tc, st);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setboolspec(INTERP i){
     MVMSTable            *st = GET_REG(i->cur_op, 0,i).o->st;
@@ -2712,7 +2716,7 @@
     st->boolification_spec = bs;
     MVM_free(orig_bs);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_istrue(INTERP i){
     /* Increment PC first then call coerce, since it may want to
@@ -2721,7 +2725,7 @@
     MVMRegister *res = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_coerce_istrue(i->tc, obj, res, NULL, NULL, 0);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isfalse(INTERP i){
     /* Increment PC first then call coerce, since it may want to
@@ -2730,107 +2734,107 @@
     MVMRegister *res = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_coerce_istrue(i->tc, obj, res, NULL, NULL, 1);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bootint(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTInt;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bootnum(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTNum;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bootstr(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTStr;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bootarray(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTArray;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bootintarray(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTIntArray;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bootnumarray(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTNumArray;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bootstrarray(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTStrArray;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_boothash(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->boot_types.BOOTHash;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_isint(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = obj && REPR(obj)->ID == MVM_REPR_ID_P6int ? 1 : 0;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isnum(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = obj && REPR(obj)->ID == MVM_REPR_ID_P6num ? 1 : 0;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isstr(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = obj && REPR(obj)->ID == MVM_REPR_ID_P6str ? 1 : 0;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_islist(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = obj && REPR(obj)->ID == MVM_REPR_ID_VMArray ? 1 : 0;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ishash(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = obj && REPR(obj)->ID == MVM_REPR_ID_MVMHash ? 1 : 0;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sethllconfig(INTERP i){
     MVM_hll_set_config(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hllboxtype_i(INTERP i){
     GET_REG(i->cur_op, 0,i).o =i->cu->body.hll_config->int_box_type;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hllboxtype_n(INTERP i){
     GET_REG(i->cur_op, 0,i).o =i->cu->body.hll_config->num_box_type;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hllboxtype_s(INTERP i){
     GET_REG(i->cur_op, 0,i).o =i->cu->body.hll_config->str_box_type;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hlllist(INTERP i){
     GET_REG(i->cur_op, 0,i).o =i->cu->body.hll_config->slurpy_array_type;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hllhash(INTERP i){
     GET_REG(i->cur_op, 0,i).o =i->cu->body.hll_config->slurpy_hash_type;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getcomp(INTERP i){
     MVMObject *obj = i->tc->instance->compiler_registry;
@@ -2838,7 +2842,7 @@
     GET_REG(i->cur_op, 0,i).o = MVM_repr_at_key_o(i->tc, obj, GET_REG(i->cur_op, 2,i).s);
     uv_mutex_unlock(&i->tc->instance->mutex_compiler_registry);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindcomp(INTERP i){
     MVMObject *obj = i->tc->instance->compiler_registry;
@@ -2848,13 +2852,13 @@
     uv_mutex_unlock(&i->tc->instance->mutex_compiler_registry);
     GET_REG(i->cur_op, 0,i).o = GET_REG(i->cur_op, 4,i).o;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getcurhllsym(INTERP i){
     MVMString *hll_name = i->tc->cur_frame->static_info->body.cu->body.hll_name;
     GET_REG(i->cur_op, 0,i).o = MVM_hll_sym_get(i->tc, hll_name, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bindcurhllsym(INTERP i){
     MVMObject *syms = i->tc->instance->hll_syms, *hash;
@@ -2872,13 +2876,13 @@
     GET_REG(i->cur_op, 0,i).o = GET_REG(i->cur_op, 4,i).o;
     uv_mutex_unlock(&i->tc->instance->mutex_hll_syms);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_gethllsym(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_hll_sym_get(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindhllsym(INTERP i){
     MVMObject *syms     = i->tc->instance->hll_syms;
@@ -2896,18 +2900,18 @@
     MVM_repr_bind_key_o(i->tc, hash, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).o);
     uv_mutex_unlock(&i->tc->instance->mutex_hll_syms);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_settypehll(INTERP i){
     STABLE(GET_REG(i->cur_op, 0,i).o)->hll_owner = MVM_hll_get_config_for(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_settypehllrole(INTERP i){
     STABLE(GET_REG(i->cur_op, 0,i).o)->hll_role = GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_hllize(INTERP i){
     /* Increment PC before mapping, as it may invoke. */
@@ -2915,7 +2919,7 @@
     MVMObject   *mapee   = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
     MVM_hll_map(i->tc, mapee, MVM_hll_current(i->tc), res_reg);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_hllizefor(INTERP i){
     /* Increment PC before mapping, as it may invoke. */
@@ -2924,30 +2928,30 @@
     MVMString   *hll     = GET_REG(i->cur_op, 4,i).s;
     i->cur_op += 6;
     MVM_hll_map(i->tc, mapee, MVM_hll_get_config_for(i->tc, hll), res_reg);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_usecompileehllconfig(INTERP i){
     MVM_hll_enter_compilee_mode(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_usecompilerhllconfig(INTERP i){
     MVM_hll_leave_compilee_mode(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_iter(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_iter(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_iterkey_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_iterkey_s(i->tc, (MVMIter *)GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_iterval(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_iterval(i->tc, (MVMIter *)GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getcodename(INTERP i){
     MVMObject *co = GET_REG(i->cur_op, 2,i).o;
@@ -2955,19 +2959,19 @@
         MVM_exception_throw_adhoc(i->tc, "gei->tcodename requires a concrete code object");
     GET_REG(i->cur_op, 0,i).s = ((MVMCode *)co)->body.name;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_iscoderef(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = !GET_REG(i->cur_op, 2,i).o ||
         STABLE(GET_REG(i->cur_op, 2,i).o)->invoke == MVM_6model_invoke_default ? 0 : 1;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getcodeobj(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_frame_get_code_object(i->tc, (MVMCode *)obj);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setcodeobj(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2979,7 +2983,7 @@
         MVM_exception_throw_adhoc(i->tc, "sei->tcodeobj needs a code ref");
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setcodename(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -2991,7 +2995,7 @@
         MVM_exception_throw_adhoc(i->tc, "sei->tcodename needs a code ref");
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_forceouterctx(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o, *ctx = GET_REG(i->cur_op, 2,i).o;
@@ -3014,7 +3018,7 @@
         MVM_ASSIGN_REF(i->tc, &(obj->header), ((MVMCode *)obj)->body.outer, context);
 
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setinvokespec(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o, *ch = GET_REG(i->cur_op, 2,i).o,
@@ -3032,7 +3036,7 @@
         MVM_free(st->invocation_spec);
     st->invocation_spec = is;
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isinvokable(INTERP i){
     MVMSTable *st = STABLE(GET_REG(i->cur_op, 2,i).o);
@@ -3040,7 +3044,7 @@
         ? (st->invocation_spec ? 1 : 0)
         : 1;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_freshcoderef(INTERP i){
     MVMObject * const cr = GET_REG(i->cur_op, 2,i).o;
@@ -3058,7 +3062,7 @@
         MVM_ASSIGN_REF(i->tc, &(ncr->common.header), ncr->body.sf->body.static_code, ncr);
     });
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_markcodestatic(INTERP i){
     MVMObject * const cr = GET_REG(i->cur_op, 0,i).o;
@@ -3066,7 +3070,7 @@
         MVM_exception_throw_adhoc(i->tc, "markcodestatic requires a coderef");
     ((MVMCode *)cr)->body.is_static = 1;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_markcodestub(INTERP i){
     MVMObject * const cr = GET_REG(i->cur_op, 0,i).o;
@@ -3074,7 +3078,7 @@
         MVM_exception_throw_adhoc(i->tc, "markcodestub requires a coderef");
     ((MVMCode *)cr)->body.is_compiler_stub = 1;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getstaticcode(INTERP i){
     MVMObject * const cr = GET_REG(i->cur_op, 2,i).o;
@@ -3082,7 +3086,7 @@
         MVM_exception_throw_adhoc(i->tc, "getstaticcode requires a static coderef");
     GET_REG(i->cur_op, 0,i).o = (MVMObject *)((MVMCode *)cr)->body.sf->body.static_code;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getcodecuid(INTERP i){
     MVMObject * const cr = GET_REG(i->cur_op, 2,i).o;
@@ -3090,13 +3094,13 @@
         MVM_exception_throw_adhoc(i->tc, "gei->tcodecuid requires a static coderef");
     GET_REG(i->cur_op, 0,i).s = ((MVMCode *)cr)->body.sf->body.cuuid;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setdispatcher(INTERP i){
     i->tc->cur_dispatcher = GET_REG(i->cur_op, 0,i).o;
     i->tc->cur_dispatcher_for = NULL;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_takedispatcher(INTERP i){
     MVMObject *disp = i->tc->cur_dispatcher;
@@ -3110,7 +3114,7 @@
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     }
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_assign(INTERP i){
     MVMObject *cont  = GET_REG(i->cur_op, 0,i).o;
@@ -3122,7 +3126,7 @@
     } else {
         MVM_exception_throw_adhoc(i->tc, "Cannot assign to an immutable value");
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_assignunchecked(INTERP i){
     MVMObject *cont  = GET_REG(i->cur_op, 0,i).o;
@@ -3134,13 +3138,13 @@
     } else {
         MVM_exception_throw_adhoc(i->tc, "Cannot assign to an immutable value");
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_iscont(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MVM_is_null(i->tc, obj) || STABLE(obj)->container_spec == NULL ? 0 : 1;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decont(INTERP i){
     MVMuint8 *prev_op = i->cur_op;
@@ -3155,7 +3159,7 @@
     else {
         r->o = obj;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setcontspec(INTERP i){
     MVMSTable *st   = STABLE(GET_REG(i->cur_op, 0,i).o);
@@ -3178,19 +3182,19 @@
     cc->set_container_spec(i->tc, st);
     cc->configure_container_spec(i->tc, st, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sha1(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_sha1(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_createsc(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_sc_create(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_scsetobj(INTERP i){
     MVMObject *sc  = GET_REG(i->cur_op, 0,i).o;
@@ -3207,7 +3211,7 @@
         MVM_sc_push_stable(i->tc, (MVMSerializationContext *)sc, st);
     }
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scsetcode(INTERP i){
     MVMObject *sc   = GET_REG(i->cur_op, 0,i).o;
@@ -3219,7 +3223,7 @@
     MVM_sc_set_code(i->tc, (MVMSerializationContext *)sc,
         GET_REG(i->cur_op, 2,i).i64, code);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scgetobj(INTERP i){
     MVMObject *sc = GET_REG(i->cur_op, 2,i).o;
@@ -3229,7 +3233,7 @@
     GET_REG(i->cur_op, 0,i).o = MVM_sc_get_object(i->tc,
         (MVMSerializationContext *)sc, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scgethandle(INTERP i){
     MVMObject *sc = GET_REG(i->cur_op, 2,i).o;
@@ -3239,7 +3243,7 @@
     GET_REG(i->cur_op, 0,i).s = MVM_sc_get_handle(i->tc,
         (MVMSerializationContext *)sc);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scgetobjidx(INTERP i){
     MVMObject *sc = GET_REG(i->cur_op, 2,i).o;
@@ -3249,7 +3253,7 @@
     GET_REG(i->cur_op, 0,i).i64 = MVM_sc_find_object_idx(i->tc,
         (MVMSerializationContext *)sc, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scsetdesc(INTERP i){
     MVMObject *sc   = GET_REG(i->cur_op, 0,i).o;
@@ -3259,7 +3263,7 @@
             "Must provide an SCRef operand to scsetdesc");
     MVM_sc_set_description(i->tc, (MVMSerializationContext *)sc, desc);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scobjcount(INTERP i){
     MVMObject *sc = GET_REG(i->cur_op, 2,i).o;
@@ -3269,7 +3273,7 @@
     GET_REG(i->cur_op, 0,i).i64 = MVM_sc_get_object_count(i->tc,
         (MVMSerializationContext *)sc);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setobjsc(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -3279,12 +3283,12 @@
             "Must provide an SCRef operand to setobjsc");
     MVM_sc_set_obj_sc(i->tc, obj, (MVMSerializationContext *)sc);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getobjsc(INTERP i){
     GET_REG(i->cur_op, 0,i).o = (MVMObject *)MVM_sc_get_obj_sc(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_serialize(INTERP i){
     MVMObject *sc = GET_REG(i->cur_op, 2,i).o;
@@ -3294,7 +3298,7 @@
             "Must provide an SCRef operand to serialize");
     GET_REG(i->cur_op, 0,i).s = MVM_serialization_serialize(i->tc, (MVMSerializationContext *)sc, obj);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_deserialize(INTERP i){
     MVMString *blob = GET_REG(i->cur_op, 0,i).s;
@@ -3308,31 +3312,31 @@
     MVM_serialization_deserialize(i->tc, (MVMSerializationContext *)sc,
         sh, cr, conf, blob);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_wval(INTERP i){
     MVMuint16 dep = GET_UI16(i->cur_op, 2);
     MVMuint16 idx = GET_UI16(i->cur_op, 4);
     GET_REG(i->cur_op, 0,i).o = MVM_sc_get_sc_object(i->tc,i->cu, dep, idx);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_wval_wide(INTERP i){
     MVMuint16 dep = GET_UI16(i->cur_op, 2);
     MVMuint64 idx = MVM_BC_get_I64(i->cur_op, 4);
     GET_REG(i->cur_op, 0,i).o = MVM_sc_get_sc_object(i->tc,i->cu, dep, idx);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scwbdisable(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = ++i->tc->sc_wb_disable_depth;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_scwbenable(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = --i->tc->sc_wb_disable_depth;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_pushcompsc(INTERP i){ //lasterror
     //MVMObject * const sc  = GET_REG(i->cur_op, 0,i).o;
@@ -3347,7 +3351,7 @@
     }
     MVM_repr_unshift_o(i->tc, i->tc->compiling_scs, sc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_popcompsc(INTERP i){
     MVMObject * const scs = i->tc->compiling_scs;
@@ -3355,7 +3359,7 @@
         MVM_exception_throw_adhoc(i->tc, "No current compiling SC");
     GET_REG(i->cur_op, 0,i).o = MVM_repr_shift_o(i->tc, i->tc->compiling_scs);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_scgetdesc(INTERP i){
     MVMObject *sc = GET_REG(i->cur_op, 2,i).o;
@@ -3365,7 +3369,7 @@
     GET_REG(i->cur_op, 0,i).s = MVM_sc_get_description(i->tc,
         (MVMSerializationContext *)sc);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_loadbytecode(INTERP i){
     /* This op will end up returning into the runloop to run
@@ -3379,7 +3383,7 @@
      * and enter bytecode loading process. */
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_load_bytecode(i->tc, filename);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_loadbytecodebuffer(INTERP i){
     /* This op will end up returning into the runloop to run
@@ -3392,7 +3396,7 @@
      * and enter bytecode loading process. */
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_load_bytecode_buffer(i->tc, buffer);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_loadbytecodefh(INTERP i){
     /* This op will end up returning into the runloop to run
@@ -3406,13 +3410,13 @@
      * and enter bytecode loading process. */
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_load_bytecode_fh(i->tc, file, filename);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_masttofile(INTERP i){
     MVM_mast_to_file(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_masttocu(INTERP i){
     /* This op will end up returning into the runloop to run
@@ -3427,13 +3431,13 @@
      * and enter bytecode loading process. */
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_mast_to_cu(i->tc, node, types, result_reg);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_iscompunit(INTERP i){
     MVMObject *maybe_cu = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = REPR(maybe_cu)->ID == MVM_REPR_ID_MVMCompUnit;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_compunitmainline(INTERP i){
     MVMObject *maybe_cu = GET_REG(i->cur_op, 2,i).o;
@@ -3445,7 +3449,7 @@
         MVM_exception_throw_adhoc(i->tc, "compunitmainline requires an MVMCompUnit");
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_compunitcodes(INTERP i){
     MVMObject *     const result = MVM_repr_alloc_init(i->tc, MVM_hll_current(i->tc)->slurpy_array_type);
@@ -3465,12 +3469,12 @@
         MVM_exception_throw_adhoc(i->tc, "compunii->tcodes requires an MVMCompUnit");
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ctx(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_frame_context_wrapper(i->tc, i->tc->cur_frame);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ctxouter(INTERP i){
     MVMObject *this_ctx = GET_REG(i->cur_op, 2,i).o;
@@ -3483,7 +3487,7 @@
     else
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ctxcaller(INTERP i){
     MVMObject *this_ctx = GET_REG(i->cur_op, 2,i).o, *ctx = NULL;
@@ -3495,7 +3499,7 @@
         ctx = MVM_frame_context_wrapper(i->tc, frame);
     GET_REG(i->cur_op, 0,i).o = ctx ? ctx : i->tc->instance->VMNull;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ctxlexpad(INTERP i){
     MVMObject *this_ctx = GET_REG(i->cur_op, 2,i).o;
@@ -3504,49 +3508,49 @@
     }
     GET_REG(i->cur_op, 0,i).o = this_ctx;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_curcode(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->cur_frame->code_ref;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_callercode(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->cur_frame->caller
         ? i->tc->cur_frame->caller->code_ref
         : i->tc->instance->VMNull;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_add_I(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_add(i->tc, GET_REG(i->cur_op, 6,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sub_I(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_sub(i->tc, GET_REG(i->cur_op, 6,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_mul_I(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_mul(i->tc, GET_REG(i->cur_op, 6,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_div_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 6,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_div(i->tc, type, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_mod_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 6,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_mod(i->tc, type, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_neg_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 4,i).o;
@@ -3554,7 +3558,7 @@
     MVM_bigint_neg(i->tc, result, GET_REG(i->cur_op, 2,i).o);
     GET_REG(i->cur_op, 0,i).o = result;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_abs_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 4,i).o;
@@ -3562,102 +3566,102 @@
     MVM_bigint_abs(i->tc, result, GET_REG(i->cur_op, 2,i).o);
     GET_REG(i->cur_op, 0,i).o = result;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_cmp_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MVM_bigint_cmp(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_eq_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MP_EQ == MVM_bigint_cmp(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ne_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MP_EQ != MVM_bigint_cmp(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_lt_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MP_LT == MVM_bigint_cmp(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_le_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MP_GT != MVM_bigint_cmp(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_gt_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MP_GT == MVM_bigint_cmp(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ge_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).i64 = MP_LT != MVM_bigint_cmp(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bor_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 6,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_or(i->tc, type, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bxor_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 6,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_xor(i->tc, type, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_band_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 6,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_and(i->tc, type, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bnot_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_not(i->tc, type, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_blshift_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 6,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_shl(i->tc, type, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_brshift_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 6,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_shr(i->tc, type, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_pow_I(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_pow(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o, GET_REG(i->cur_op, 8,i).o);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_gcd_I(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_gcd(i->tc, GET_REG(i->cur_op, 6,i).o, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_lcm_I(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_lcm(i->tc, GET_REG(i->cur_op, 6,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_expmod_I(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 8,i).o;
@@ -3665,37 +3669,37 @@
     MVM_bigint_expmod(i->tc, result, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o);
     GET_REG(i->cur_op, 0,i).o = result;
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isprime_I(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o;
     MVMint64 b = GET_REG(i->cur_op, 4,i).i64;
     GET_REG(i->cur_op, 0,i).i64 = MVM_bigint_is_prime(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_rand_I(INTERP i){
     MVMObject * const type = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_rand(i->tc, type, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coerce_In(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).n64 = MVM_bigint_to_num(i->tc, a);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coerce_Is(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_bigint_to_str(i->tc, GET_REG(i->cur_op, 2,i).o, 10);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coerce_nI(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_from_num(i->tc, type, GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coerce_sI(INTERP i){
     MVMString *s = GET_REG(i->cur_op, 2,i).s;
@@ -3706,179 +3710,179 @@
     MVM_free(buf);
     GET_REG(i->cur_op, 0,i).o = a;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isbig_I(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_bigint_is_big(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bool_I(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_bigint_bool(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_base_I(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_bigint_to_str(i->tc, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_radix_I(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_radix(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64, GET_REG(i->cur_op, 10,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_div_In(INTERP i){
     MVMObject *a = GET_REG(i->cur_op, 2,i).o, *b = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).n64 = MVM_bigint_div_num(i->tc, a, b);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_copy_f(INTERP i){
     MVM_file_copy(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_append_f(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "append is not supported");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_rename_f(INTERP i){
     MVM_file_rename(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_delete_f(INTERP i){
     MVM_file_delete(i->tc, GET_REG(i->cur_op, 0,i).s);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_chmod_f(INTERP i){
     MVM_file_chmod(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_exists_f(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_file_exists(i->tc, GET_REG(i->cur_op, 2,i).s, 0);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_mkdir(INTERP i){
     MVM_dir_mkdir(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_rmdir(INTERP i){
     MVM_dir_rmdir(i->tc, GET_REG(i->cur_op, 0,i).s);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_open_dir(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_dir_open(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_read_dir(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_dir_read(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_close_dir(INTERP i){
     MVM_dir_close(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_open_fh(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_file_open_fh(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_close_fh(INTERP i){
     MVM_io_close(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_seek_fh(INTERP i){
     MVM_io_seek(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).i64,
         GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lock_fh(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_io_lock(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unlock_fh(INTERP i){
     MVM_io_unlock(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sync_fh(INTERP i){
     MVM_io_flush(i->tc, GET_REG(i->cur_op, 0,i).o, 1);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_trunc_fh(INTERP i){
     MVM_io_truncate(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eof_fh(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_io_eof(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getstdin(INTERP i){
     if (MVM_is_null(i->tc, i->tc->instance->stdin_handle))
         MVM_exception_throw_adhoc(i->tc, "STDIN filehandle was never initialized");
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->stdin_handle;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getstdout(INTERP i){
     if (MVM_is_null(i->tc, i->tc->instance->stdout_handle))
         MVM_exception_throw_adhoc(i->tc, "STDOUT filehandle was never initialized");
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->stdout_handle;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getstderr(INTERP i){
     if (MVM_is_null(i->tc, i->tc->instance->stderr_handle))
         MVM_exception_throw_adhoc(i->tc, "STDERR filehandle was never initialized");
     GET_REG(i->cur_op, 0,i).o = i->tc->instance->stderr_handle;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_connect_sk(INTERP i){
     MVM_io_connect(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_socket(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_socket_create(i->tc, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getport_sk(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_io_getport(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bind_sk(INTERP i){
     MVM_io_bind(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, (int)GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_accept_sk(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_accept(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_decodetocodes(INTERP i){
     goto cbc_encodefromcodes(i);
@@ -3890,22 +3894,22 @@
 __code cbc_print(INTERP i){
     MVM_string_print(i->tc, GET_REG(i->cur_op, 0,i).s);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_say(INTERP i){
     MVM_string_say(i->tc, GET_REG(i->cur_op, 0,i).s);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_tell_fh(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_io_tell(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_stat(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_file_stat(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, 0);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_tryfindmeth(INTERP i){
     MVMRegister *res  = &GET_REG(i->cur_op, 0,i);
@@ -3913,7 +3917,7 @@
     MVMString   *name = MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 4));
     i->cur_op += 8;
     MVM_6model_find_method(i->tc, obj, name, res, 0);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_tryfindmeth_s(INTERP i){
     MVMRegister *res  = &GET_REG(i->cur_op, 0,i);
@@ -3921,89 +3925,89 @@
     MVMString   *name = GET_REG(i->cur_op, 4,i).s;
     i->cur_op += 6;
     MVM_6model_find_method(i->tc, obj, name, res, 0);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_chdir(INTERP i){
     MVM_dir_chdir(i->tc, GET_REG(i->cur_op, 0,i).s);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_srand(INTERP i){
     MVM_proc_seed(i->tc, GET_REG(i->cur_op, 0,i).i64);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_rand_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_proc_rand_i(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_rand_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_proc_rand_n(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_time_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_proc_time_i(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sleep(INTERP i){
     MVM_gc_mark_thread_blocked(i->tc);
     MVM_platform_sleep(GET_REG(i->cur_op, 0,i).n64);
     MVM_gc_mark_thread_unblocked(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_newthread(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_thread_new(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_threadjoin(INTERP i){
     MVM_thread_join(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_time_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_proc_time_n(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_exit(INTERP i){
     MVMint64 exit_code = GET_REG(i->cur_op, 0,i).i64;
     MVM_io_flush_standard_handles(i->tc);
     exit(exit_code);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cwd(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_dir_cwd(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_clargs(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_proc_clargs(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getenvhash(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_proc_getenvhash(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_loadlib(INTERP i){
     MVMString *name = GET_REG(i->cur_op, 0,i).s;
     MVMString *path = GET_REG(i->cur_op, 2,i).s;
     MVM_dll_load(i->tc, name, path);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_freelib(INTERP i){
     MVMString *name = GET_REG(i->cur_op, 0,i).s;
     MVM_dll_free(i->tc, name);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_findsym(INTERP i){
     MVMString *lib = GET_REG(i->cur_op, 2,i).s;
@@ -4014,30 +4018,30 @@
 
     GET_REG(i->cur_op, 0,i).o = obj;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_dropsym(INTERP i){
     MVM_dll_drop_symbol(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_loadext(INTERP i){
     MVMString *lib = GET_REG(i->cur_op, 0,i).s;
     MVMString *ext = GET_REG(i->cur_op, 2,i).s;
     MVM_ext_load(i->tc, lib, ext);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_backendconfig(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_backend_config(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexouter(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_frame_find_lexical_by_name_outer(i->tc,
         GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlexrel(INTERP i){
     MVMObject *ctx  = GET_REG(i->cur_op, 2,i).o;
@@ -4048,7 +4052,7 @@
         GET_REG(i->cur_op, 4,i).s, ((MVMContext *)ctx)->body.context);
     GET_REG(i->cur_op, 0,i).o = r ? r->o : i->tc->instance->VMNull;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlexreldyn(INTERP i){
     MVMObject *ctx  = GET_REG(i->cur_op, 2,i).o;
@@ -4057,7 +4061,7 @@
     GET_REG(i->cur_op, 0,i).o = MVM_frame_getdynlex(i->tc, GET_REG(i->cur_op, 4,i).s,
             ((MVMContext *)ctx)->body.context);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlexrelcaller(INTERP i){
     MVMObject   *ctx  = GET_REG(i->cur_op, 2,i).o;
@@ -4068,72 +4072,72 @@
         ((MVMContext *)ctx)->body.context);
     GET_REG(i->cur_op, 0,i).o = res ? res->o : i->tc->instance->VMNull;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlexcaller(INTERP i){
     MVMRegister *res = MVM_frame_find_lexical_by_name_rel_caller(i->tc,
         GET_REG(i->cur_op, 2,i).s, i->tc->cur_frame->caller);
     GET_REG(i->cur_op, 0,i).o = res ? res->o : i->tc->instance->VMNull;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_bitand_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_bitand(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bitor_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_bitor(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bitxor_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_bitxor(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_isnanorinf(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_num_isnanorinf(i->tc, GET_REG(i->cur_op, 2,i).n64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_inf(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_num_posinf(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_neginf(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_num_neginf(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nan(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_num_nan(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getpid(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_proc_getpid(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_filereadable(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_file_isreadable(i->tc, GET_REG(i->cur_op, 2,i).s,0);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_filewritable(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_file_iswritable(i->tc, GET_REG(i->cur_op, 2,i).s,0);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_fileexecutable(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_file_isexecutable(i->tc, GET_REG(i->cur_op, 2,i).s,0);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_capturenamedshash(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -4145,62 +4149,62 @@
         MVM_exception_throw_adhoc(i->tc, "capturehasnameds needs a MVMCallCapture");
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_read_fhb(INTERP i){
     MVM_io_read_bytes(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_write_fhb(INTERP i){
     MVM_io_write_bytes(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_replace(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_replace(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).s);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_newexception(INTERP i){
     GET_REG(i->cur_op, 0,i).o = (MVMObject *)MVM_repr_alloc_init(i->tc,
         i->tc->instance->boot_types.BOOTException);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_permit(INTERP i){
     MVM_io_eventloop_permit(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).i64,
            GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_backtrace(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_exception_backtrace(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_symlink(INTERP i){
     MVM_file_symlink(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_link(INTERP i){
     MVM_file_link(i->tc, GET_REG(i->cur_op, 0,i).s, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_gethostname(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_io_get_hostname(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_exreturnafterunwind(INTERP i){
     MVMObject *ex = GET_REG(i->cur_op, 0,i).o;
     MVM_exception_returnafterunwind(i->tc, ex);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_continuationreset(INTERP i){
     MVMRegister *res  = &GET_REG(i->cur_op, 0,i);
@@ -4208,7 +4212,7 @@
     MVMObject   *code = GET_REG(i->cur_op, 4,i).o;
     i->cur_op += 6;
     MVM_continuation_reset(i->tc, tag, code, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_continuationcontrol(INTERP i){
     MVMRegister *res     = &GET_REG(i->cur_op, 0,i);
@@ -4217,7 +4221,7 @@
     MVMObject   *code    = GET_REG(i->cur_op, 6,i).o;
     i->cur_op += 8;
     MVM_continuation_control(i->tc, protect, tag, code, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_continuationinvoke(INTERP i){
     MVMRegister *res  = &GET_REG(i->cur_op, 0,i);
@@ -4225,25 +4229,25 @@
     MVMObject   *code = GET_REG(i->cur_op, 4,i).o;
     i->cur_op += 6;
     MVM_continuation_invoke(i->tc, (MVMContinuation *)cont, code, res);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_randscale_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_proc_rand_n(i->tc) * GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_uniisblock(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)MVM_unicode_is_in_block(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).s);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_assertparamcheck(INTERP i){
     MVMint64 ok = GET_REG(i->cur_op, 0,i).i64;
     i->cur_op += 2;
     if (!ok)
         MVM_args_bind_failed(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_hintfor(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -4251,90 +4255,90 @@
         STABLE(obj), obj,
         GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_paramnamesused(INTERP i){
     MVMArgProcContext *ctx = &i->tc->cur_frame->params;
     if (ctx->callsite->num_pos != ctx->callsite->arg_count)
         MVM_args_assert_nameds_used(i->tc, ctx);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getuniname(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_unicode_get_name(i->tc, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getuniprop_int(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_unicode_codepoint_get_property_int(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getuniprop_bool(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_unicode_codepoint_get_property_bool(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getuniprop_str(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_unicode_codepoint_get_property_str(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_matchuniprop(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_unicode_codepoint_has_property_value(i->tc,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativecallbuild(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_nativecall_build(i->tc, GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).s, GET_REG(i->cur_op, 8,i).s,
         GET_REG(i->cur_op, 10,i).o, GET_REG(i->cur_op, 12,i).o);
     i->cur_op += 14;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativecallinvoke(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativecall_invoke(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativecallrefresh(INTERP i){
     MVM_nativecall_refresh(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_threadrun(INTERP i){
     MVM_thread_run(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_threadid(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_thread_id(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_threadyield(INTERP i){
     MVM_thread_yield(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_currentthread(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_thread_current(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lock(INTERP i){
     MVM_reentrantmutex_lock_checked(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_unlock(INTERP i){
     MVM_reentrantmutex_unlock_checked(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_semacquire(INTERP i){
     MVMObject *sem = GET_REG(i->cur_op, 0,i).o;
@@ -4344,7 +4348,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "semacquire requires a concrete object with REPR Semaphore");
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_semtryacquire(INTERP i){
     MVMObject *sem = GET_REG(i->cur_op, 2,i).o;
@@ -4355,7 +4359,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "semtryacquire requires a concrete object with REPR Semaphore");
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_semrelease(INTERP i){
     MVMObject *sem = GET_REG(i->cur_op, 0,i).o;
@@ -4365,7 +4369,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "semrelease requires a concrete object with REPR Semaphore");
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlockcondvar(INTERP i){
     MVMObject *lock = GET_REG(i->cur_op, 2,i).o;
@@ -4376,7 +4380,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "getlockcondvar requires a concrete object with REPR ReentrantMutex");
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_condwait(INTERP i){
     MVMObject *cv = GET_REG(i->cur_op, 0,i).o;
@@ -4386,7 +4390,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "condwait requires a concrete object with REPR ConditionVariable");
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_condsignalone(INTERP i){
     MVMObject *cv = GET_REG(i->cur_op, 0,i).o;
@@ -4396,7 +4400,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "condsignalone requires a concrete object with REPR ConditionVariable");
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_condsignalall(INTERP i){
     MVMObject *cv = GET_REG(i->cur_op, 0,i).o;
@@ -4406,7 +4410,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "condsignalall requires a concrete object with REPR ConditionVariable");
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_queuepoll(INTERP i){
     MVMObject *queue = GET_REG(i->cur_op, 2,i).o;
@@ -4417,7 +4421,7 @@
         MVM_exception_throw_adhoc(i->tc,
             "queuepoll requires a concrete object with REPR ConcBlockingQueue");
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_setmultispec(INTERP i){
     MVMObject *obj        = GET_REG(i->cur_op, 0,i).o;
@@ -4437,7 +4441,7 @@
     is->md_cache_hint = REPR(ch)->attr_funcs.hint_for(i->tc, STABLE(ch), ch,
         cache_attr);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ctxouterskipthunks(INTERP i){
     MVMObject *this_ctx = GET_REG(i->cur_op, 2,i).o;
@@ -4453,7 +4457,7 @@
     else
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_ctxcallerskipthunks(INTERP i){
     MVMObject *this_ctx = GET_REG(i->cur_op, 2,i).o, *ctx = NULL;
@@ -4468,59 +4472,59 @@
         ctx = MVM_frame_context_wrapper(i->tc, frame);
     GET_REG(i->cur_op, 0,i).o = ctx ? ctx : i->tc->instance->VMNull;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_timer(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_timer_create(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).i64,
         GET_REG(i->cur_op, 8,i).i64, GET_REG(i->cur_op, 10,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cancel(INTERP i){
     MVM_io_eventloop_cancel_work(i->tc, GET_REG(i->cur_op, 0,i).o, NULL, NULL);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_signal(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_signal_handle(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).o);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_watchfile(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_file_watch(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s, GET_REG(i->cur_op, 8,i).o);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asyncconnect(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_socket_connect_async(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s,
         GET_REG(i->cur_op, 8,i).i64, GET_REG(i->cur_op, 10,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asynclisten(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_socket_listen_async(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s,
         GET_REG(i->cur_op, 8,i).i64, (int)GET_REG(i->cur_op, 10,i).i64, GET_REG(i->cur_op, 12,i).o);
     i->cur_op += 14;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asyncwritebytes(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_write_bytes_async(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o, GET_REG(i->cur_op, 8,i).o,
         GET_REG(i->cur_op, 10,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asyncreadbytes(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_read_bytes_async(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o, GET_REG(i->cur_op, 8,i).o,
         GET_REG(i->cur_op, 10,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexstatic_o(INTERP i){
     MVMRegister *found = MVM_frame_find_lexical_by_name(i->tc,
@@ -4534,7 +4538,7 @@
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlexperinvtype_o(INTERP i){
     MVMRegister *found = MVM_frame_find_lexical_by_name(i->tc,
@@ -4548,28 +4552,28 @@
         GET_REG(i->cur_op, 0,i).o = i->tc->instance->VMNull;
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_execname(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_executable_name(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_const_i64_16(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_I16(i->cur_op, 2);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_const_i64_32(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = GET_I32(i->cur_op, 2);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_isnonnull(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).i64 = !MVM_is_null(i->tc, obj);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_rn2_i(INTERP i){
     MVMArgInfo param = MVM_args_get_named_int(i->tc, &i->tc->cur_frame->params,
@@ -4580,7 +4584,7 @@
         GET_REG(i->cur_op, 0,i).i64 = MVM_args_get_named_int(i->tc, &i->tc->cur_frame->params,
             MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)), MVM_ARG_REQUIRED).arg.i64;
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_rn2_n(INTERP i){
     MVMArgInfo param = MVM_args_get_named_num(i->tc, &i->tc->cur_frame->params,
@@ -4591,7 +4595,7 @@
         GET_REG(i->cur_op, 0,i).n64 = MVM_args_get_named_num(i->tc, &i->tc->cur_frame->params,
             MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)), MVM_ARG_REQUIRED).arg.n64;
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_rn2_s(INTERP i){
     MVMArgInfo param = MVM_args_get_named_str(i->tc, &i->tc->cur_frame->params,
@@ -4602,7 +4606,7 @@
         GET_REG(i->cur_op, 0,i).s = MVM_args_get_named_str(i->tc, &i->tc->cur_frame->params,
             MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)), MVM_ARG_REQUIRED).arg.s;
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_rn2_o(INTERP i){
     MVMArgInfo param = MVM_args_get_named_obj(i->tc, &i->tc->cur_frame->params,
@@ -4614,7 +4618,7 @@
     if (MVM_spesh_log_is_logging(i->tc))
         MVM_spesh_log_parameter(i->tc, param.arg_idx, param.arg.o);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_on2_i(INTERP i){
     MVMArgInfo param = MVM_args_get_named_int(i->tc, &i->tc->cur_frame->params,
@@ -4629,7 +4633,7 @@
     else {
         i->cur_op += 14;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_on2_n(INTERP i){
     MVMArgInfo param = MVM_args_get_named_num(i->tc, &i->tc->cur_frame->params,
@@ -4644,7 +4648,7 @@
     else {
         i->cur_op += 14;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_on2_s(INTERP i){
     MVMArgInfo param = MVM_args_get_named_str(i->tc, &i->tc->cur_frame->params,
@@ -4659,7 +4663,7 @@
     else {
         i->cur_op += 14;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_on2_o(INTERP i){
     MVMArgInfo param = MVM_args_get_named_obj(i->tc, &i->tc->cur_frame->params,
@@ -4676,66 +4680,66 @@
     else {
         i->cur_op += 14;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_osrpoint(INTERP i){
     if (MVM_spesh_log_is_logging(i->tc))
         MVM_spesh_log_osr(i->tc);
     MVM_spesh_osr_poll_for_result(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativecallcast(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativecall_cast(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_spawnprocasync(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_proc_spawn_async(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).s,
         GET_REG(i->cur_op, 8,i).o, GET_REG(i->cur_op, 10,i).o);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_killprocasync(INTERP i){
     MVM_proc_kill_async(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_startprofile(INTERP i){
     MVM_profile_start(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_endprofile(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_profile_end(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_objectid(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)MVM_gc_object_id(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_settypefinalize(INTERP i){
     MVM_gc_finalize_set(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_force_gc(INTERP i){
     MVM_gc_enter_from_allocator(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativecallglobal(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativecall_global(i->tc, GET_REG(i->cur_op, 2,i).s,
         GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).o, GET_REG(i->cur_op, 8,i).o);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_setparameterizer(INTERP i){
     MVM_6model_parametric_setup(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_parameterizetype(INTERP i){
     MVMObject   *type   = GET_REG(i->cur_op, 2,i).o;
@@ -4743,205 +4747,205 @@
     MVMRegister *result = &(GET_REG(i->cur_op, 0,i));
     i->cur_op += 6;
     MVM_6model_parametric_parameterize(i->tc, type, params, result);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_typeparameterized(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_6model_parametric_type_parameterized(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_typeparameters(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_6model_parametric_type_parameters(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_typeparameterat(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_6model_parametric_type_parameter_at(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_readlink(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_file_readlink(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lstat(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_file_stat(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, 1);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_iscont_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_iscont_i(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_iscont_n(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_iscont_n(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_iscont_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_iscont_s(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_assign_i(INTERP i){
     MVMObject *cont  = GET_REG(i->cur_op, 0,i).o;
     MVMint64   value = GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
     MVM_6model_container_assign_i(i->tc, cont, value);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_assign_n(INTERP i){
     MVMObject *cont  = GET_REG(i->cur_op, 0,i).o;
     MVMnum64   value = GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 4;
     MVM_6model_container_assign_n(i->tc, cont, value);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_assign_s(INTERP i){
     MVMObject *cont  = GET_REG(i->cur_op, 0,i).o;
     MVMString *value = GET_REG(i->cur_op, 2,i).s;
     i->cur_op += 4;
     MVM_6model_container_assign_s(i->tc, cont, value);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decont_i(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     MVMRegister *r = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_6model_container_decont_i(i->tc, obj, r);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decont_n(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     MVMRegister *r = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_6model_container_decont_n(i->tc, obj, r);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decont_s(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     MVMRegister *r = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_6model_container_decont_s(i->tc, obj, r);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getrusage(INTERP i){
     MVM_proc_getrusage(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_threadlockcount(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_thread_lock_count(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexref_i(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_i(i->tc,
         GET_UI16(i->cur_op, 4), GET_UI16(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexref_n(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_n(i->tc,
         GET_UI16(i->cur_op, 4), GET_UI16(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexref_s(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_s(i->tc,
         GET_UI16(i->cur_op, 4), GET_UI16(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexref_ni(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_name_i(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexref_nn(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_name_n(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexref_ns(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_name_s(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atposref_i(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_pos_i(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atposref_n(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_pos_n(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atposref_s(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_pos_s(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getattrref_i(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_attr_i(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)));
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getattrref_n(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_attr_n(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)));
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getattrref_s(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_attr_s(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)));
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getattrsref_i(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_attr_i(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o,
         GET_REG(i->cur_op, 6,i).s);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getattrsref_n(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_attr_n(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o,
         GET_REG(i->cur_op, 6,i).s);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getattrsref_s(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_attr_s(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o,
         GET_REG(i->cur_op, 6,i).s);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativecallsizeof(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_nativecall_sizeof(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_encodenorm(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "NYI");
@@ -4951,214 +4955,214 @@
     MVM_unicode_normalize_codepoints(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 4,i).o,
         MVM_unicode_normalizer_form(i->tc, GET_REG(i->cur_op, 2,i).i64));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_strfromcodes(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_unicode_codepoints_to_nfg_string(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_strtocodes(INTERP i){
     MVM_unicode_string_to_codepoints(i->tc, GET_REG(i->cur_op, 0,i).s,
         MVM_unicode_normalizer_form(i->tc, GET_REG(i->cur_op, 2,i).i64),
         GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getcodelocation(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_code_location(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_eqatim_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_equal_at_ignore_mark(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ordbaseat(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_ord_basechar_at(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_neverrepossess(INTERP i){
     MVM_6model_never_repossess(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_scdisclaim(INTERP i){
     MVM_sc_disclaim(i->tc, (MVMSerializationContext *)GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos2d_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_repr_at_pos_2d_i(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos2d_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_repr_at_pos_2d_n(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos2d_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_repr_at_pos_2d_s(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos2d_o(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_repr_at_pos_2d_o(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos3d_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_repr_at_pos_3d_i(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos3d_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_repr_at_pos_3d_n(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos3d_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_repr_at_pos_3d_s(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atpos3d_o(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_repr_at_pos_3d_o(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atposnd_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_repr_at_pos_multidim_i(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atposnd_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_repr_at_pos_multidim_n(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atposnd_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_repr_at_pos_multidim_s(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atposnd_o(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_repr_at_pos_multidim_o(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos2d_i(INTERP i){
     MVM_repr_bind_pos_2d_i(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos2d_n(INTERP i){
     MVM_repr_bind_pos_2d_n(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).n64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos2d_s(INTERP i){
     MVM_repr_bind_pos_2d_s(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).s);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos2d_o(INTERP i){
     MVM_repr_bind_pos_2d_o(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).o);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos3d_i(INTERP i){
     MVM_repr_bind_pos_3d_i(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos3d_n(INTERP i){
     MVM_repr_bind_pos_3d_n(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).n64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos3d_s(INTERP i){
     MVM_repr_bind_pos_3d_s(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).s);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindpos3d_o(INTERP i){
     MVM_repr_bind_pos_3d_o(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64, GET_REG(i->cur_op, 8,i).o);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindposnd_i(INTERP i){
     MVM_repr_bind_pos_multidim_i(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindposnd_n(INTERP i){
     MVM_repr_bind_pos_multidim_n(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).n64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindposnd_s(INTERP i){
     MVM_repr_bind_pos_multidim_s(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_bindposnd_o(INTERP i){
     MVM_repr_bind_pos_multidim_o(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_dimensions(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_repr_dimensions(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_setdimensions(INTERP i){
     MVM_repr_set_dimensions(i->tc, GET_REG(i->cur_op, 0,i).o, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_numdimensions(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_repr_num_dimensions(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ctxcode(INTERP i){
     MVMObject *this_ctx = GET_REG(i->cur_op, 2,i).o;
@@ -5170,7 +5174,7 @@
     else {
         MVM_exception_throw_adhoc(i->tc, "ctxcode needs an MVMContext");
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_isrwcont(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -5181,46 +5185,46 @@
     }
     GET_REG(i->cur_op, 0,i).i64 = is_rw;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_fc(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_fc(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_encoderep(INTERP i){
     GET_REG(i->cur_op, 8,i).o = MVM_string_encode_to_buf(i->tc, GET_REG(i->cur_op, 2,i).s,
         GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 8,i).o, GET_REG(i->cur_op, 6,i).s);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_istty_fh(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_io_is_tty(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_multidimref_i(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_multidim_i(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_multidimref_n(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_multidim_n(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_multidimref_s(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_multidim_s(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_fileno_fh(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_io_fileno(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asyncudp(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_socket_udp_async(i->tc,
@@ -5228,14 +5232,14 @@
         GET_REG(i->cur_op, 8,i).i64, GET_REG(i->cur_op, 10,i).i64,
         GET_REG(i->cur_op, 12,i).o);
     i->cur_op += 14;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_asyncwritebytesto(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_write_bytes_to_async(i->tc, GET_REG(i->cur_op, 2,i).o,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).o, GET_REG(i->cur_op, 8,i).o,
         GET_REG(i->cur_op, 10,i).o, GET_REG(i->cur_op, 12,i).s, GET_REG(i->cur_op, 14,i).i64);
     i->cur_op += 16;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_objprimbits(INTERP i){
     MVMObject *type = GET_REG(i->cur_op, 2,i).o;
@@ -5247,7 +5251,7 @@
         GET_REG(i->cur_op, 0,i).i64 = 0;
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_objprimunsigned(INTERP i){
     MVMObject *type = GET_REG(i->cur_op, 2,i).o;
@@ -5259,7 +5263,7 @@
         GET_REG(i->cur_op, 0,i).i64 = 0;
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlexref_i32(INTERP i){
     goto cbc_getlexref_i16(i);
@@ -5271,19 +5275,19 @@
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_i(i->tc,
         GET_UI16(i->cur_op, 4), GET_UI16(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getlexref_n32(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_n(i->tc,
         GET_UI16(i->cur_op, 4), GET_UI16(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_box_u(INTERP i){
     MVM_box_uint(i->tc, GET_REG(i->cur_op, 2,i).u64, GET_REG(i->cur_op, 4,i).o,
                 &GET_REG(i->cur_op, 0,i));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_unbox_u(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -5292,34 +5296,34 @@
     GET_REG(i->cur_op, 0,i).u64 = REPR(obj)->box_funcs.get_uint(i->tc,
         STABLE(obj), obj, OBJECT_BODY(obj));
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coerce_iu(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = (MVMuint64)GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_ui(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = (MVMint64)GET_REG(i->cur_op, 2,i).u64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_nu(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = (MVMuint64)GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_un(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = (MVMnum64)GET_REG(i->cur_op, 2,i).u64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_decont_u(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
     MVMRegister *r = &GET_REG(i->cur_op, 0,i);
     i->cur_op += 4;
     MVM_6model_container_decont_u(i->tc, obj, r);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_getlexref_u(INTERP i){
     goto cbc_getlexref_u32(i);
@@ -5335,13 +5339,13 @@
     GET_REG(i->cur_op, 0,i).o = MVM_nativeref_lex_i(i->tc,
         GET_UI16(i->cur_op, 4), GET_UI16(i->cur_op, 2));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_rp_u(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = MVM_args_get_pos_uint(i->tc, &i->tc->cur_frame->params,
         GET_UI16(i->cur_op, 2), MVM_ARG_REQUIRED).arg.u64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_op_u(INTERP i){
     MVMArgInfo param = MVM_args_get_pos_uint(i->tc, &i->tc->cur_frame->params,
@@ -5353,13 +5357,13 @@
     else {
         i->cur_op += 8;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_rn_u(INTERP i){
     GET_REG(i->cur_op, 0,i).u64 = MVM_args_get_named_uint(i->tc, &i->tc->cur_frame->params,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_ARG_REQUIRED).arg.u64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_param_on_u(INTERP i){
     MVMArgInfo param = MVM_args_get_named_uint(i->tc, &i->tc->cur_frame->params,
@@ -5371,7 +5375,7 @@
     else {
         i->cur_op += 10;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_rn2_u(INTERP i){
     MVMArgInfo param = MVM_args_get_named_uint(i->tc, &i->tc->cur_frame->params,
@@ -5382,7 +5386,7 @@
         GET_REG(i->cur_op, 0,i).u64 = MVM_args_get_named_uint(i->tc, &i->tc->cur_frame->params,
             MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 6)), MVM_ARG_REQUIRED).arg.u64;
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_param_on2_u(INTERP i){
     MVMArgInfo param = MVM_args_get_named_uint(i->tc, &i->tc->cur_frame->params,
@@ -5397,17 +5401,17 @@
     else {
         i->cur_op += 14;
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_stat_time(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_file_time(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, 0);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_lstat_time(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = MVM_file_time(i->tc, GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).i64, 1);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_setdebugtypename(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
@@ -5421,7 +5425,7 @@
         STABLE(obj)->debug_name = NULL;
     }
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwpayloadlex(INTERP i){
     MVMRegister *rr      = &GET_REG(i->cur_op, 0,i);
@@ -5429,7 +5433,7 @@
     MVMObject   *payload = GET_REG(i->cur_op, 10,i).o;
     i->cur_op += 12;
     MVM_exception_throwpayload(i->tc, MVM_EX_THROW_LEX, cat, payload, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_throwpayloadlexcaller(INTERP i){
     MVMRegister *rr      = &GET_REG(i->cur_op, 0,i);
@@ -5437,18 +5441,18 @@
     MVMObject   *payload = GET_REG(i->cur_op, 10,i).o;
     i->cur_op += 12;
     MVM_exception_throwpayload(i->tc, MVM_EX_THROW_LEX_CALLER, cat, payload, rr);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_lastexpayload(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->last_payload;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_cancelnotify(INTERP i){
     MVM_io_eventloop_cancel_work(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_decoderconfigure(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 0,i).o;
@@ -5456,21 +5460,21 @@
     MVM_decoder_configure(i->tc, (MVMDecoder *)decoder,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decodersetlineseps(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 0,i).o;
     MVM_decoder_ensure_decoder(i->tc, decoder, "decodersetlineseps");
     MVM_decoder_set_separators(i->tc, (MVMDecoder *)decoder, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decoderaddbytes(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 0,i).o;
     MVM_decoder_ensure_decoder(i->tc, decoder, "decoderaddbytes");
     MVM_decoder_add_bytes(i->tc, (MVMDecoder *)decoder, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decodertakechars(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
@@ -5478,27 +5482,27 @@
     GET_REG(i->cur_op, 0,i).s = MVM_decoder_take_chars(i->tc, (MVMDecoder *)decoder,
         GET_REG(i->cur_op, 4,i).i64, 0);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_indexim_s(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_string_index_ignore_mark(i->tc,
         GET_REG(i->cur_op, 2,i).s, GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decodertakeallchars(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
     MVM_decoder_ensure_decoder(i->tc, decoder, "decodertakeallchars");
     GET_REG(i->cur_op, 0,i).s = MVM_decoder_take_all_chars(i->tc, (MVMDecoder *)decoder);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decodertakeavailablechars(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
     MVM_decoder_ensure_decoder(i->tc, decoder, "decodertakeavailablechars");
     GET_REG(i->cur_op, 0,i).s = MVM_decoder_take_available_chars(i->tc, (MVMDecoder *)decoder);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decodertakeline(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
@@ -5506,14 +5510,14 @@
     GET_REG(i->cur_op, 0,i).s = MVM_decoder_take_line(i->tc, (MVMDecoder *)decoder,
         GET_REG(i->cur_op, 4,i).i64, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decoderbytesavailable(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
     MVM_decoder_ensure_decoder(i->tc, decoder, "decoderbytesavailable");
     GET_REG(i->cur_op, 0,i).i64 = MVM_decoder_bytes_available(i->tc, (MVMDecoder *)decoder);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decodertakebytes(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
@@ -5521,24 +5525,24 @@
     GET_REG(i->cur_op, 0,i).o = MVM_decoder_take_bytes(i->tc, (MVMDecoder *)decoder,
         GET_REG(i->cur_op, 4,i).o, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decoderempty(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
     MVM_decoder_ensure_decoder(i->tc, decoder, "decoderempty");
     GET_REG(i->cur_op, 0,i).i64 = MVM_decoder_empty(i->tc, (MVMDecoder *)decoder);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_indexingoptimized(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_indexing_optimized(i->tc, GET_REG(i->cur_op, 2,i).s);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_captureinnerlex(INTERP i){
     MVM_frame_capture_inner(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_setdispatcherfor(INTERP i){
     MVMObject *disp_for = GET_REG(i->cur_op, 2,i).o;
@@ -5547,12 +5551,12 @@
         ? disp_for
         : MVM_frame_find_invokee(i->tc, disp_for, NULL);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_cpucores(INTERP i){
     GET_REG(i->cur_op, 0,i).i32 = MVM_platform_cpu_count();
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_decodertakecharseof(INTERP i){
     MVMObject *decoder = GET_REG(i->cur_op, 2,i).o;
@@ -5560,7 +5564,7 @@
     GET_REG(i->cur_op, 0,i).s = MVM_decoder_take_chars(i->tc, (MVMDecoder *)decoder,
         GET_REG(i->cur_op, 4,i).i64, 1);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_cas_o(INTERP i){
     MVMRegister *result = &GET_REG(i->cur_op, 0,i);
@@ -5569,156 +5573,156 @@
     MVMObject *value = GET_REG(i->cur_op, 6,i).o;
     i->cur_op += 8;
     MVM_6model_container_cas(i->tc, target, expected, value, result);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_cas_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_cas_i(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64,
         GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atomicinc_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_atomic_inc(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atomicdec_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_atomic_dec(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atomicadd_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_atomic_add(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).i64);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atomicload_o(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_6model_container_atomic_load(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atomicload_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_6model_container_atomic_load_i(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_atomicstore_o(INTERP i){
     MVMObject *target = GET_REG(i->cur_op, 0,i).o;
     MVMObject *value = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
     MVM_6model_container_atomic_store(i->tc, target, value);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_atomicstore_i(INTERP i){
     MVM_6model_container_atomic_store_i(i->tc, GET_REG(i->cur_op, 0,i).o,
         GET_REG(i->cur_op, 2,i).i64);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_barrierfull(INTERP i){
     MVM_barrier();
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativeinvoke_v(INTERP i){
     i->tc->cur_frame->return_value = NULL;
     i->tc->cur_frame->return_type = MVM_RETURN_VOID;
     MVM_nativecall_invoke_jit(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativeinvoke_i(INTERP i){
     i->tc->cur_frame->return_value = &GET_REG(i->cur_op, 0,i);
     i->tc->cur_frame->return_type = MVM_RETURN_INT;
     MVM_nativecall_invoke_jit(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativeinvoke_n(INTERP i){
     i->tc->cur_frame->return_value = &GET_REG(i->cur_op, 0,i);
     i->tc->cur_frame->return_type = MVM_RETURN_NUM;
     MVM_nativecall_invoke_jit(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativeinvoke_s(INTERP i){
     i->tc->cur_frame->return_value = &GET_REG(i->cur_op, 0,i);
     i->tc->cur_frame->return_type = MVM_RETURN_STR;
     MVM_nativecall_invoke_jit(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_nativeinvoke_o(INTERP i){
     i->tc->cur_frame->return_value = &GET_REG(i->cur_op, 0,i);
     i->tc->cur_frame->return_type = MVM_RETURN_OBJ;
     MVM_nativecall_invoke_jit(i->tc, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getarg_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = i->tc->cur_frame->args[GET_REG(i->cur_op, 2,i).u16].i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getarg_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = i->tc->cur_frame->args[GET_REG(i->cur_op, 2,i).u16].n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getarg_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = i->tc->cur_frame->args[GET_REG(i->cur_op, 2,i).u16].s;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getarg_o(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->cur_frame->args[GET_REG(i->cur_op, 2,i).u16].o;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coerce_II(INTERP i){
     MVMObject *   const type = GET_REG(i->cur_op, 4,i).o;
     GET_REG(i->cur_op, 0,i).o = MVM_bigint_from_bigint(i->tc, type, GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_encoderepconf(INTERP i){
     GET_REG(i->cur_op, 8,i).o = MVM_string_encode_to_buf_config(i->tc, GET_REG(i->cur_op, 2,i).s,
         GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 8,i).o, GET_REG(i->cur_op, 6,i).s, GET_REG(i->cur_op, 10,i).i64);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_encodeconf(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_string_encode_to_buf_config(i->tc, GET_REG(i->cur_op, 2,i).s,
         GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).o, NULL, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_decodeconf(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_decode_from_buf_config(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).s, NULL, GET_REG(i->cur_op, 6,i).i64);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_decoderepconf(INTERP i){
     GET_REG(i->cur_op, 0,i).s = MVM_string_decode_from_buf_config(i->tc,
         GET_REG(i->cur_op, 2,i).o, GET_REG(i->cur_op, 4,i).s, GET_REG(i->cur_op, 6,i).s, GET_REG(i->cur_op, 8,i).i64);
     i->cur_op += 10;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getppid(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_proc_getppid(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_getsignals(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_io_get_signals(i->tc);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_guard(INTERP i){
     MVMObject *check = GET_REG(i->cur_op, 0,i).o;
@@ -5727,7 +5731,7 @@
     i->cur_op += 8;
     if (!check || STABLE(check) != want)
         MVM_spesh_deopt_one(i->tc, GET_UI32(i->cur_op, -4));
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_guardconc(INTERP i){
     MVMObject *check = GET_REG(i->cur_op, 0,i).o;
@@ -5736,7 +5740,7 @@
     i->cur_op += 8;
     if (!check || !IS_CONCRETE(check) || STABLE(check) != want)
         MVM_spesh_deopt_one(i->tc, GET_UI32(i->cur_op, -4));
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_guardtype(INTERP i){
     MVMObject *check = GET_REG(i->cur_op, 0,i).o;
@@ -5745,7 +5749,7 @@
     i->cur_op += 8;
     if (!check || IS_CONCRETE(check) || STABLE(check) != want)
         MVM_spesh_deopt_one(i->tc, GET_UI32(i->cur_op, -4));
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_guardsf(INTERP i){
     MVMObject *check = GET_REG(i->cur_op, 0,i).o;
@@ -5755,7 +5759,7 @@
     if (REPR(check)->ID != MVM_REPR_ID_MVMCode ||
             ((MVMCode *)check)->body.sf != want)
         MVM_spesh_deopt_one(i->tc, GET_UI32(i->cur_op, -4));
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_guardsfouter(INTERP i){
     MVMObject *check = GET_REG(i->cur_op, 0,i).o;
@@ -5766,7 +5770,7 @@
             ((MVMCode *)check)->body.sf != want ||
             ((MVMCode *)check)->body.outer != i->tc->cur_frame)
         MVM_spesh_deopt_one(i->tc, GET_UI32(i->cur_op, -4));
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_rebless(INTERP i){
     if (!REPR(GET_REG(i->cur_op, 2,i).o)->change_type) {
@@ -5778,13 +5782,13 @@
     i->cur_op += 10;
     MVM_spesh_deopt_all(i->tc);
     MVM_spesh_deopt_one(i->tc, GET_UI32(i->cur_op, -4));
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_resolvecode(INTERP i){
     GET_REG(i->cur_op, 0,i).o = MVM_frame_resolve_invokee_spesh(i->tc,
         GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_decont(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 2,i).o;
@@ -5794,7 +5798,7 @@
         STABLE(obj)->container_spec->fetch(i->tc, obj, r);
     else
         r->o = obj;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getlex_o(INTERP i){
     MVMFrame *f = i->tc->cur_frame;
@@ -5812,7 +5816,7 @@
         ? MVM_frame_vivify_lexical(i->tc, f, idx)
         : found.o;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getlex_ins(INTERP i){
     MVMFrame *f = i->tc->cur_frame;
@@ -5826,34 +5830,34 @@
     }
     GET_REG(i->cur_op, 0,i) = GET_LEX(i->cur_op, 2, f,i);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getlex_no(INTERP i){
     MVMRegister *found = MVM_frame_find_lexical_by_name(i->tc,
         MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 2)), MVM_reg_obj);
     GET_REG(i->cur_op, 0,i).o = found ? found->o : i->tc->instance->VMNull;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getarg_o(INTERP i){
     GET_REG(i->cur_op, 0,i).o = i->tc->cur_frame->params.args[GET_UI16(i->cur_op, 2)].o;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_getarg_i(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = i->tc->cur_frame->params.args[GET_UI16(i->cur_op, 2)].i64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_getarg_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = i->tc->cur_frame->params.args[GET_UI16(i->cur_op, 2)].n64;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_getarg_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = i->tc->cur_frame->params.args[GET_UI16(i->cur_op, 2)].s;
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_fastinvoke_v(INTERP i){
     MVMCode     *code       = (MVMCode *)GET_REG(i->cur_op, 0,i).o;
@@ -5865,7 +5869,7 @@
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_frame_invoke(i->tc, code->body.sf, i->cur_callsite, args,
         code->body.outer, (MVMObject *)code, spesh_cand);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_fastinvoke_i(INTERP i){
     MVMCode     *code       = (MVMCode *)GET_REG(i->cur_op, 2,i).o;
@@ -5877,7 +5881,7 @@
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_frame_invoke(i->tc, code->body.sf, i->cur_callsite, args,
         code->body.outer, (MVMObject *)code, spesh_cand);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_fastinvoke_n(INTERP i){
     MVMCode     *code       = (MVMCode *)GET_REG(i->cur_op, 2,i).o;
@@ -5889,7 +5893,7 @@
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_frame_invoke(i->tc, code->body.sf, i->cur_callsite, args,
         code->body.outer, (MVMObject *)code, spesh_cand);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_fastinvoke_s(INTERP i){
     MVMCode     *code       = (MVMCode *)GET_REG(i->cur_op, 2,i).o;
@@ -5901,7 +5905,7 @@
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_frame_invoke(i->tc, code->body.sf, i->cur_callsite, args,
         code->body.outer, (MVMObject *)code, spesh_cand);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_fastinvoke_o(INTERP i){
     MVMCode     *code       = (MVMCode *)GET_REG(i->cur_op, 2,i).o;
@@ -5913,19 +5917,19 @@
     i->tc->cur_frame->return_address = i->cur_op;
     MVM_frame_invoke(i->tc, code->body.sf, i->cur_callsite, args,
         code->body.outer, (MVMObject *)code, spesh_cand);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_paramnamesused(INTERP i){
     MVM_args_throw_named_unused_error(i->tc, (MVMString *)i->tc->cur_frame
         ->effective_spesh_slots[GET_UI16(i->cur_op, 0)]);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_getspeshslot(INTERP i){
     GET_REG(i->cur_op, 0,i).o = (MVMObject *)i->tc->cur_frame
         ->effective_spesh_slots[GET_UI16(i->cur_op, 2)];
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_findmeth(INTERP i){
     /* Obtain object and cache index; see if we get a mai->tch. */
@@ -5943,7 +5947,7 @@
         MVM_6model_find_method_spesh(i->tc, obj, name, idx, res);
 
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_fastcreate(INTERP i){
     /* Assume we're in normal code, so doing a nursery allocation.
@@ -5955,94 +5959,94 @@
     obj->header.owner    = i->tc->thread_id;
     GET_REG(i->cur_op, 0,i).o = obj;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_get_o(INTERP i){
     MVMObject *val = ((MVMObject *)((char *)GET_REG(i->cur_op, 2,i).o + GET_UI16(i->cur_op, 4)));
     GET_REG(i->cur_op, 0,i).o = val ? val : i->tc->instance->VMNull;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_get_i64(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = *((MVMint64 *)((char *)GET_REG(i->cur_op, 2,i).o + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_get_i32(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = *((MVMint32 *)((char *)GET_REG(i->cur_op, 2,i).o + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_get_i16(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = *((MVMint16 *)((char *)GET_REG(i->cur_op, 2,i).o + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_get_i8(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = *((MVMint8 *)((char *)GET_REG(i->cur_op, 2,i).o + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_get_n(INTERP i){
     GET_REG(i->cur_op, 0,i).n64 = *((MVMnum64 *)((char *)GET_REG(i->cur_op, 2,i).o + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_get_s(INTERP i){
     GET_REG(i->cur_op, 0,i).s = ((MVMString *)((char *)GET_REG(i->cur_op, 2,i).o + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_sp_bind_o(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     MVMObject *value = GET_REG(i->cur_op, 4,i).o;
     MVM_ASSIGN_REF(i->tc, &(o->header), *((MVMObject **)((char *)o + GET_UI16(i->cur_op, 2))), value);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_bind_i64(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     *((MVMint64 *)((char *)o + GET_UI16(i->cur_op, 2))) = GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_bind_i32(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     *((MVMint32 *)((char *)o + GET_UI16(i->cur_op, 2))) = GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_bind_i16(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     *((MVMint16 *)((char *)o + GET_UI16(i->cur_op, 2))) = GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_bind_i8(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     *((MVMint8 *)((char *)o + GET_UI16(i->cur_op, 2))) = GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_bind_n(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     *((MVMnum64 *)((char *)o + GET_UI16(i->cur_op, 2))) = GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_bind_s(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     MVMString *value = GET_REG(i->cur_op, 4,i).s;
     MVM_ASSIGN_REF(i->tc, &(o->header), *((MVMObject **)((char *)o + GET_UI16(i->cur_op, 2))), value);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6oget_o(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 2,i).o;
     MVMObject *val = MVM_p6opaque_read_object(i->tc, o, GET_UI16(i->cur_op, 4));
     GET_REG(i->cur_op, 0,i).o = val ? val : i->tc->instance->VMNull;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6ogetvt_o(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 2,i).o;
@@ -6054,7 +6058,7 @@
     }
     GET_REG(i->cur_op, 0,i).o = val;
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6ogetvc_o(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 2,i).o;
@@ -6069,28 +6073,28 @@
     }
     GET_REG(i->cur_op, 0,i).o = val;
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6oget_i(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 2,i).o;
     char      *data  = MVM_p6opaque_real_data(i->tc, OBJECT_BODY(o));
     GET_REG(i->cur_op, 0,i).i64 = *((MVMint64 *)(data + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6oget_n(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 2,i).o;
     char      *data  = MVM_p6opaque_real_data(i->tc, OBJECT_BODY(o));
     GET_REG(i->cur_op, 0,i).n64 = *((MVMnum64 *)(data + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6oget_s(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 2,i).o;
     char      *data  = MVM_p6opaque_real_data(i->tc, OBJECT_BODY(o));
     GET_REG(i->cur_op, 0,i).s = *((MVMString **)(data + GET_UI16(i->cur_op, 4)));
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6obind_o(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
@@ -6098,21 +6102,21 @@
     char      *data  = MVM_p6opaque_real_data(i->tc, OBJECT_BODY(o));
     MVM_ASSIGN_REF(i->tc, &(o->header), *((MVMObject **)(data + GET_UI16(i->cur_op, 2))), value);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6obind_i(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     char      *data  = MVM_p6opaque_real_data(i->tc, OBJECT_BODY(o));
     *((MVMint64 *)(data + GET_UI16(i->cur_op, 2))) = GET_REG(i->cur_op, 4,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6obind_n(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
     char      *data  = MVM_p6opaque_real_data(i->tc, OBJECT_BODY(o));
     *((MVMnum64 *)(data + GET_UI16(i->cur_op, 2))) = GET_REG(i->cur_op, 4,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_p6obind_s(INTERP i){
     MVMObject *o     = GET_REG(i->cur_op, 0,i).o;
@@ -6120,35 +6124,35 @@
     MVM_ASSIGN_REF(i->tc, &(o->header), *((MVMString **)(data + GET_UI16(i->cur_op, 2))),
         GET_REG(i->cur_op, 4,i).s);
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_deref_get_i64(INTERP i){
     MVMObject *o      = GET_REG(i->cur_op, 2,i).o;
     MVMint64 **target = ((MVMint64 **)((char *)o + GET_UI16(i->cur_op, 4)));
     GET_REG(i->cur_op, 0,i).i64 = **target;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_deref_get_n(INTERP i){
     MVMObject *o      = GET_REG(i->cur_op, 2,i).o;
     MVMnum64 **target = ((MVMnum64 **)((char *)o + GET_UI16(i->cur_op, 4)));
     GET_REG(i->cur_op, 0,i).n64 = **target;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_deref_bind_i64(INTERP i){
     MVMObject *o      = GET_REG(i->cur_op, 0,i).o;
     MVMint64 **target = ((MVMint64 **)((char *)o + GET_UI16(i->cur_op, 4)));
     **target          = GET_REG(i->cur_op, 2,i).i64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_deref_bind_n(INTERP i){
     MVMObject *o      = GET_REG(i->cur_op, 0,i).o;
     MVMnum64 **target = ((MVMnum64 **)((char *)o + GET_UI16(i->cur_op, 4)));
     **target          = GET_REG(i->cur_op, 2,i).n64;
     i->cur_op += 6;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getlexvia_o(INTERP i){
     MVMFrame *f = ((MVMCode *)GET_REG(i->cur_op, 6,i).o)->body.outer;
@@ -6166,7 +6170,7 @@
         ? MVM_frame_vivify_lexical(i->tc, f, idx)
         : found.o;
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getlexvia_ins(INTERP i){
     MVMFrame *f = ((MVMCode *)GET_REG(i->cur_op, 6,i).o)->body.outer;
@@ -6180,21 +6184,21 @@
     }
     GET_REG(i->cur_op, 0,i) = GET_LEX(i->cur_op, 2, f,i);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getstringfrom(INTERP i){
     MVMCompUnit *dep = (MVMCompUnit *)i->tc->cur_frame->effective_spesh_slots[GET_UI16(i->cur_op, 2)];
     MVMuint32 idx = GET_UI32(i->cur_op, 4);
     GET_REG(i->cur_op, 0,i).s = MVM_cu_string(i->tc, dep, idx);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_getwvalfrom(INTERP i){
     MVMSerializationContext *dep = (MVMSerializationContext *)i->tc->cur_frame->effective_spesh_slots[GET_UI16(i->cur_op, 2)];
     MVMuint64 idx = MVM_BC_get_I64(i->cur_op, 4);
     GET_REG(i->cur_op, 0,i).o = MVM_sc_get_object(i->tc, dep, idx);
     i->cur_op += 12;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_jit_enter(INTERP i){
     if (i->tc->cur_frame->spesh_cand->jitcode == NULL) {
@@ -6207,12 +6211,12 @@
         /* somehow unwound our top frame */
         goto cbc_return_label(i);
     }
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_boolify_iter(INTERP i){
     GET_REG(i->cur_op, 0,i).i64 = MVM_iter_istrue(i->tc, (MVMIter*)GET_REG(i->cur_op, 2,i).o);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_boolify_iter_arr(INTERP i){
     MVMIter *iter = (MVMIter *)GET_REG(i->cur_op, 2,i).o;
@@ -6220,7 +6224,7 @@
     GET_REG(i->cur_op, 0,i).i64 = iter->body.array_state.index + 1 < iter->body.array_state.limit ? 1 : 0;
 
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_boolify_iter_hash(INTERP i){
     MVMIter *iter = (MVMIter *)GET_REG(i->cur_op, 2,i).o;
@@ -6228,7 +6232,7 @@
     GET_REG(i->cur_op, 0,i).i64 = iter->body.hash_state.next != NULL ? 1 : 0;
 
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_cas_o(INTERP i){
     MVMRegister *result = &GET_REG(i->cur_op, 0,i);
@@ -6237,58 +6241,58 @@
     MVMObject *value = GET_REG(i->cur_op, 6,i).o;
     i->cur_op += 8;
     target->st->container_spec->cas(i->tc, target, expected, value, result);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_atomicload_o(INTERP i){
     MVMObject *target = GET_REG(i->cur_op, 2,i).o;
     GET_REG(i->cur_op, 0,i).o = target->st->container_spec->atomic_load(i->tc, target);
     i->cur_op += 4;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_sp_atomicstore_o(INTERP i){
     MVMObject *target = GET_REG(i->cur_op, 0,i).o;
     MVMObject *value = GET_REG(i->cur_op, 2,i).o;
     i->cur_op += 4;
     target->st->container_spec->atomic_store(i->tc, target, value);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_prof_enter(INTERP i){
     MVM_profile_log_enter(i->tc, i->tc->cur_frame->static_info,
         MVM_PROFILE_ENTER_NORMAL);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_prof_enterspesh(INTERP i){
     MVM_profile_log_enter(i->tc, i->tc->cur_frame->static_info,
         MVM_PROFILE_ENTER_SPESH);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_prof_enterinline(INTERP i){
     MVM_profile_log_enter(i->tc,
         (MVMStaticFrame *)i->tc->cur_frame->effective_spesh_slots[GET_UI16(i->cur_op, 0)],
         MVM_PROFILE_ENTER_SPESH_INLINE);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_prof_enternative(INTERP i){
     MVM_profile_log_enter_native(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_prof_exit(INTERP i){
     MVM_profile_log_exit(i->tc);
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_prof_allocated(INTERP i){
     MVM_profile_log_allocated(i->tc, GET_REG(i->cur_op, 0,i).o);
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_ctw_check(INTERP i){
     MVMObject *obj = GET_REG(i->cur_op, 0,i).o;
     MVMint16 blame = GET_I16(i->cur_op, 2);
     i->cur_op += 4;
     MVM_cross_thread_write_check(i->tc, obj, blame);
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_DEPRECATED_4(INTERP i){
     goto cbc_DEPRECATED_5(i);
@@ -6316,87 +6320,87 @@
 }
 __code cbc_DEPRECATED_12(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The getregref_* ops were removed in MoarVM 2017.01.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_13(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The continuationclone op was removed in MoarVM 2017.01.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_14(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The asyncwritestr op was removed in MoarVM 2017.05.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_15(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The asyncwritestrto op was removed in MoarVM 2017.05.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_16(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The asyncreadchars op was removed in MoarVM 2017.05.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_17(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The setencoding op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_18(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The write_fhs op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_19(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The say_fhs op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_21(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The readlinechomp_fh op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_22(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The readall_fh op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_23(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The read_fhs op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_24(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The setinputlinesep op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_25(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The setinputlineseps op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_27(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The slurp op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_28(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The spew op was removed in MoarVM 2017.06.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_29(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The spawn op was removed in MoarVM 2017.07.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_30(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The shell op was removed in MoarVM 2017.07.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_31(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The syncpipe op was removed in MoarVM 2017.07.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_32(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The close_fhi op was removed in MoarVM 2017.07.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_33(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The newlexotic op was removed in MoarVM 2017.08.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_DEPRECATED_34(INTERP i){
     MVM_exception_throw_adhoc(i->tc, "The lexoticresult op was removed in MoarVM 2017.08.");
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 __code cbc_coverage_log(INTERP i){
     MVMString *filename = MVM_cu_string(i->tc,i->cu, GET_UI32(i->cur_op, 0));
@@ -6405,21 +6409,21 @@
     char      *cache    = (char *)MVM_BC_get_I64(i->cur_op, 12);
     MVM_line_coverage_report(i->tc, filename, lineno, cacheidx, cache);
     i->cur_op += 20;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_breakpoint(INTERP i){
     MVMuint32 file_idx = GET_UI32(i->cur_op, 0);
     MVMuint32 line_no  = GET_UI32(i->cur_op, 4);
     MVM_debugserver_breakpoint_check(i->tc, file_idx, line_no);
     i->cur_op += 8;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 __code cbc_coveragecontrol(INTERP i){
     MVMuint32 cc = (MVMuint32)GET_REG(i->cur_op, 0,i).i64;
     if (i->tc->instance->coverage_control && (cc == 0 || cc == 1))
         i->tc->instance->coverage_control = cc + 1;
     i->cur_op += 2;
-    goto NEXT(i);
+    goto cbc_next(i);
             }
 
 __code cbc_return_label (INTERP i){
@@ -6430,7 +6434,7 @@
     i->tc->interp_reg_base       = NULL;
     i->tc->interp_cu             = NULL;
     MVM_barrier();
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 
 __code  cbc_op_call_extop (INTERP i) {
@@ -6440,7 +6444,7 @@
     record->func(i->tc, i->cur_op);
     if (op_before == i->cur_op)
         i->cur_op += record->operand_bytes;
-    goto NEXT(i);
+    goto cbc_next(i);
 }
 
 void MVM_interp_run1(INTERP i){