changeset 17:f4636c3adb79

modify define ITERP struct and goto segment
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sat, 20 Oct 2018 09:57:43 +0900
parents 5dad2b2a4da3
children be886c9ae3f1
files cbctools/change_OPS_h_to_cbc.pl src/core/cbc-interp.cbc src/core/oplables-cbc-codes.h
diffstat 3 files changed, 915 insertions(+), 893 deletions(-) [+]
line wrap: on
line diff
--- a/cbctools/change_OPS_h_to_cbc.pl	Thu Oct 18 14:01:51 2018 +0900
+++ b/cbctools/change_OPS_h_to_cbc.pl	Sat Oct 20 09:57:43 2018 +0900
@@ -5,6 +5,30 @@
 # Input file is dispatc.cbc 
 #
 
+print << 'EOFEOF';
+typedef struct interp {
+     MVMuint16 op;
+     /* Points to the place in the bytecode right after the current opcode. */
+     /* See the NEXT_OP macro for making sense of this */
+     MVMuint8 *cur_op;
+
+     /* The current frame's bytecode start. */
+     MVMuint8 *bytecode_start;
+
+     /* Points to the base of the current register set for the frame we
+      * are presently in. */
+     MVMRegister *reg_base;
+
+     /* Points to the current compilation unit. */
+     MVMCompUnit *cu;
+
+     /* The current call site we're constructing. */
+     MVMCallsite *cur_callsite;
+
+     MVMThreadContext *tc;
+ } INTER,*INTERP;
+EOFEOF
+
 my %codesegs = ();
 my $file;
 
@@ -40,7 +64,7 @@
 
 for my $code_gear (@out){
     $code_gear =~ s/^\s+(\w+),\n/$1/g;
-    print "__code $code_gear();\n";
+    print "__code $code_gear(INTERP);\n";
 }
 
 print "\n";
--- a/src/core/cbc-interp.cbc	Thu Oct 18 14:01:51 2018 +0900
+++ b/src/core/cbc-interp.cbc	Sat Oct 20 09:57:43 2018 +0900
@@ -48,7 +48,7 @@
 #if MVM_CGOTO
 #define DISPATCH(op)
 #define OP(name) OP_ ## name
-#define NEXT(i) CODES[NEXT_OP(i)]()
+#define NEXT(i) CODES[NEXT_OP(i)](i)
 #else
 #define DISPATCH(op) switch (op)
 #define OP(name) case MVM_OP_ ## name
@@ -56,27 +56,6 @@
 #endif
 
 static int tracing_enabled = 0;
-typedef struct interp {
-    MVMuint16 op;
-    /* Points to the place in the bytecode right after the current opcode. */
-    /* See the NEXT_OP macro for making sense of this */
-    MVMuint8 *cur_op;
-
-    /* The current frame's bytecode start. */
-    MVMuint8 *bytecode_start;
-
-    /* Points to the base of the current register set for the frame we
-     * are presently in. */
-    MVMRegister *reg_base;
-
-    /* Points to the current compilation unit. */
-    MVMCompUnit *cu;
-
-    /* The current call site we're constructing. */
-    MVMCallsite *cur_callsite;
-
-    MVMThreadContext *tc;
-} INTER,*INTERP;
 
 __code cbc_no_op(INTERP i){
     goto NEXT(i);
@@ -1053,7 +1032,6 @@
     goto NEXT(i);
 }
 __code cbc_invoke_o(INTERP i){
-    {
         MVMObject   *code = GET_REG(i->cur_op, 2,i).o;
         MVMRegister *args = i->tc->cur_frame->args;
         MVMuint16 was_multi = 0;
@@ -1069,7 +1047,6 @@
         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);
 }
 __code cbc_checkarity(INTERP i){
@@ -6424,7 +6401,7 @@
 #if MVM_CGOTO
 #endif
 
-    INTER inter = {NULL,NULL,NULL,NULL,NULL,NULL,tc};
+    INTER inter = {0,NULL,NULL,NULL,NULL,NULL,tc};
     INTERP i = &inter;
 
      /* Stash addresses of current op, register base and SC deref base
--- a/src/core/oplables-cbc-codes.h	Thu Oct 18 14:01:51 2018 +0900
+++ b/src/core/oplables-cbc-codes.h	Sat Oct 20 09:57:43 2018 +0900
@@ -1,871 +1,892 @@
-__code cbc_no_op();
-__code cbc_const_i8();
-__code cbc_const_i16();
-__code cbc_const_i32();
-__code cbc_const_i64();
-__code cbc_const_n32();
-__code cbc_const_n64();
-__code cbc_const_s();
-__code cbc_set();
-__code cbc_extend_u8();
-__code cbc_extend_u16();
-__code cbc_extend_u32();
-__code cbc_extend_i8();
-__code cbc_extend_i16();
-__code cbc_extend_i32();
-__code cbc_trunc_u8();
-__code cbc_trunc_u16();
-__code cbc_trunc_u32();
-__code cbc_trunc_i8();
-__code cbc_trunc_i16();
-__code cbc_trunc_i32();
-__code cbc_extend_n32();
-__code cbc_trunc_n32();
-__code cbc_goto();
-__code cbc_if_i();
-__code cbc_unless_i();
-__code cbc_if_n();
-__code cbc_unless_n();
-__code cbc_if_s();
-__code cbc_unless_s();
-__code cbc_if_s0();
-__code cbc_unless_s0();
-__code cbc_if_o();
-__code cbc_unless_o();
-__code cbc_jumplist();
-__code cbc_getlex();
-__code cbc_bindlex();
-__code cbc_getlex_ni();
-__code cbc_getlex_nn();
-__code cbc_getlex_ns();
-__code cbc_getlex_no();
-__code cbc_bindlex_ni();
-__code cbc_bindlex_nn();
-__code cbc_bindlex_ns();
-__code cbc_bindlex_no();
-__code cbc_getlex_ng();
-__code cbc_bindlex_ng();
-__code cbc_getdynlex();
-__code cbc_binddynlex();
-__code cbc_setlexvalue();
-__code cbc_lexprimspec();
-__code cbc_return_i();
-__code cbc_return_n();
-__code cbc_return_s();
-__code cbc_return_o();
-__code cbc_return();
-__code cbc_eq_i();
-__code cbc_ne_i();
-__code cbc_lt_i();
-__code cbc_le_i();
-__code cbc_gt_i();
-__code cbc_ge_i();
-__code cbc_cmp_i();
-__code cbc_add_i();
-__code cbc_sub_i();
-__code cbc_mul_i();
-__code cbc_div_i();
-__code cbc_div_u();
-__code cbc_mod_i();
-__code cbc_mod_u();
-__code cbc_neg_i();
-__code cbc_abs_i();
-__code cbc_inc_i();
-__code cbc_inc_u();
-__code cbc_dec_i();
-__code cbc_dec_u();
-__code cbc_band_i();
-__code cbc_bor_i();
-__code cbc_bxor_i();
-__code cbc_bnot_i();
-__code cbc_blshift_i();
-__code cbc_brshift_i();
-__code cbc_pow_i();
-__code cbc_not_i();
-__code cbc_gcd_i();
-__code cbc_lcm_i();
-__code cbc_eq_n();
-__code cbc_ne_n();
-__code cbc_lt_n();
-__code cbc_le_n();
-__code cbc_gt_n();
-__code cbc_ge_n();
-__code cbc_cmp_n();
-__code cbc_add_n();
-__code cbc_sub_n();
-__code cbc_mul_n();
-__code cbc_div_n();
-__code cbc_mod_n();
-__code cbc_neg_n();
-__code cbc_abs_n();
-__code cbc_pow_n();
-__code cbc_ceil_n();
-__code cbc_floor_n();
-__code cbc_sin_n();
-__code cbc_asin_n();
-__code cbc_cos_n();
-__code cbc_acos_n();
-__code cbc_tan_n();
-__code cbc_atan_n();
-__code cbc_atan2_n();
-__code cbc_sec_n();
-__code cbc_asec_n();
-__code cbc_sinh_n();
-__code cbc_cosh_n();
-__code cbc_tanh_n();
-__code cbc_sech_n();
-__code cbc_sqrt_n();
-__code cbc_log_n();
-__code cbc_exp_n();
-__code cbc_coerce_in();
-__code cbc_coerce_ni();
-__code cbc_coerce_is();
-__code cbc_coerce_ns();
-__code cbc_coerce_si();
-__code cbc_coerce_sn();
-__code cbc_smrt_numify();
-__code cbc_smrt_strify();
-__code cbc_prepargs();
-__code cbc_arg_i();
-__code cbc_arg_n();
-__code cbc_arg_s();
-__code cbc_arg_o();
-__code cbc_argconst_i();
-__code cbc_argconst_n();
-__code cbc_argconst_s();
-__code cbc_invoke_v();
-__code cbc_invoke_i();
-__code cbc_invoke_n();
-__code cbc_invoke_s();
-__code cbc_invoke_o();
-__code cbc_checkarity();
-__code cbc_param_rp_i();
-__code cbc_param_rp_n();
-__code cbc_param_rp_s();
-__code cbc_param_rp_o();
-__code cbc_param_op_i();
-__code cbc_param_op_n();
-__code cbc_param_op_s();
-__code cbc_param_op_o();
-__code cbc_param_rn_i();
-__code cbc_param_rn_n();
-__code cbc_param_rn_s();
-__code cbc_param_rn_o();
-__code cbc_param_on_i();
-__code cbc_param_on_n();
-__code cbc_param_on_s();
-__code cbc_param_on_o();
-__code cbc_param_sp();
-__code cbc_param_sn();
-__code cbc_getcode();
-__code cbc_caller();
-__code cbc_capturelex();
-__code cbc_takeclosure();
-__code cbc_exception();
-__code cbc_bindexmessage();
-__code cbc_bindexpayload();
-__code cbc_bindexcategory();
-__code cbc_getexmessage();
-__code cbc_getexpayload();
-__code cbc_getexcategory();
-__code cbc_throwdyn();
-__code cbc_throwlex();
-__code cbc_throwlexotic();
-__code cbc_throwcatdyn();
-__code cbc_throwcatlex();
-__code cbc_throwcatlexotic();
-__code cbc_die();
-__code cbc_rethrow();
-__code cbc_resume();
-__code cbc_takehandlerresult();
-__code cbc_DEPRECATED_33();
-__code cbc_DEPRECATED_34();
-__code cbc_backtracestrings();
-__code cbc_usecapture();
-__code cbc_savecapture();
-__code cbc_captureposelems();
-__code cbc_captureposarg();
-__code cbc_captureposarg_i();
-__code cbc_captureposarg_n();
-__code cbc_captureposarg_s();
-__code cbc_captureposprimspec();
-__code cbc_captureexistsnamed();
-__code cbc_capturehasnameds();
-__code cbc_invokewithcapture();
-__code cbc_multicacheadd();
-__code cbc_multicachefind();
-__code cbc_null_s();
-__code cbc_isnull_s();
-__code cbc_eq_s();
-__code cbc_ne_s();
-__code cbc_gt_s();
-__code cbc_ge_s();
-__code cbc_lt_s();
-__code cbc_le_s();
-__code cbc_cmp_s();
-__code cbc_eqat_s();
-__code cbc_eqatic_s();
-__code cbc_haveat_s();
-__code cbc_concat_s();
-__code cbc_repeat_s();
-__code cbc_substr_s();
-__code cbc_index_s();
-__code cbc_graphs_s();
-__code cbc_codes_s();
-__code cbc_getcp_s();
-__code cbc_indexcp_s();
-__code cbc_uc();
-__code cbc_lc();
-__code cbc_tc();
-__code cbc_split();
-__code cbc_join();
-__code cbc_getcpbyname();
-__code cbc_indexat();
-__code cbc_indexnat();
-__code cbc_unipropcode();
-__code cbc_unipvalcode();
-__code cbc_hasuniprop();
-__code cbc_hasunipropc();
-__code cbc_chars();
-__code cbc_chr();
-__code cbc_ordfirst();
-__code cbc_ordat();
-__code cbc_rindexfrom();
-__code cbc_escape();
-__code cbc_flip();
-__code cbc_setbuffersize_fh();
-__code cbc_iscclass();
-__code cbc_findcclass();
-__code cbc_findnotcclass();
-__code cbc_nfafromstatelist();
-__code cbc_nfarunproto();
-__code cbc_nfarunalt();
-__code cbc_radix();
-__code cbc_encode();
-__code cbc_decode();
-__code cbc_istrue_s();
-__code cbc_isfalse_s();
-__code cbc_null();
-__code cbc_isnull();
-__code cbc_ifnonnull();
-__code cbc_findmeth();
-__code cbc_findmeth_s();
-__code cbc_can();
-__code cbc_can_s();
-__code cbc_create();
-__code cbc_clone();
-__code cbc_isconcrete();
-__code cbc_rebless();
-__code cbc_istype();
-__code cbc_objprimspec();
-__code cbc_gethow();
-__code cbc_getwhat();
-__code cbc_getwho();
-__code cbc_setwho();
-__code cbc_reprname();
-__code cbc_getwhere();
-__code cbc_eqaddr();
-__code cbc_bindattr_i();
-__code cbc_bindattr_n();
-__code cbc_bindattr_s();
-__code cbc_bindattr_o();
-__code cbc_bindattrs_i();
-__code cbc_bindattrs_n();
-__code cbc_bindattrs_s();
-__code cbc_bindattrs_o();
-__code cbc_getattr_i();
-__code cbc_getattr_n();
-__code cbc_getattr_s();
-__code cbc_getattr_o();
-__code cbc_getattrs_i();
-__code cbc_getattrs_n();
-__code cbc_getattrs_s();
-__code cbc_getattrs_o();
-__code cbc_attrinited();
-__code cbc_box_i();
-__code cbc_box_n();
-__code cbc_box_s();
-__code cbc_unbox_i();
-__code cbc_unbox_n();
-__code cbc_unbox_s();
-__code cbc_atpos_i();
-__code cbc_atpos_n();
-__code cbc_atpos_s();
-__code cbc_atpos_o();
-__code cbc_bindpos_i();
-__code cbc_bindpos_n();
-__code cbc_bindpos_s();
-__code cbc_bindpos_o();
-__code cbc_push_i();
-__code cbc_push_n();
-__code cbc_push_s();
-__code cbc_push_o();
-__code cbc_pop_i();
-__code cbc_pop_n();
-__code cbc_pop_s();
-__code cbc_pop_o();
-__code cbc_shift_i();
-__code cbc_shift_n();
-__code cbc_shift_s();
-__code cbc_shift_o();
-__code cbc_unshift_i();
-__code cbc_unshift_n();
-__code cbc_unshift_s();
-__code cbc_unshift_o();
-__code cbc_splice();
-__code cbc_setelemspos();
-__code cbc_existspos();
-__code cbc_atkey_i();
-__code cbc_atkey_n();
-__code cbc_atkey_s();
-__code cbc_atkey_o();
-__code cbc_bindkey_i();
-__code cbc_bindkey_n();
-__code cbc_bindkey_s();
-__code cbc_bindkey_o();
-__code cbc_existskey();
-__code cbc_deletekey();
-__code cbc_elems();
-__code cbc_knowhow();
-__code cbc_knowhowattr();
-__code cbc_newtype();
-__code cbc_composetype();
-__code cbc_setmethcache();
-__code cbc_setmethcacheauth();
-__code cbc_settypecache();
-__code cbc_settypecheckmode();
-__code cbc_setboolspec();
-__code cbc_istrue();
-__code cbc_isfalse();
-__code cbc_bootint();
-__code cbc_bootnum();
-__code cbc_bootstr();
-__code cbc_bootarray();
-__code cbc_bootintarray();
-__code cbc_bootnumarray();
-__code cbc_bootstrarray();
-__code cbc_boothash();
-__code cbc_isint();
-__code cbc_isnum();
-__code cbc_isstr();
-__code cbc_islist();
-__code cbc_ishash();
-__code cbc_sethllconfig();
-__code cbc_hllboxtype_i();
-__code cbc_hllboxtype_n();
-__code cbc_hllboxtype_s();
-__code cbc_hlllist();
-__code cbc_hllhash();
-__code cbc_getcomp();
-__code cbc_bindcomp();
-__code cbc_getcurhllsym();
-__code cbc_bindcurhllsym();
-__code cbc_gethllsym();
-__code cbc_bindhllsym();
-__code cbc_settypehll();
-__code cbc_settypehllrole();
-__code cbc_hllize();
-__code cbc_hllizefor();
-__code cbc_usecompileehllconfig();
-__code cbc_usecompilerhllconfig();
-__code cbc_iter();
-__code cbc_iterkey_s();
-__code cbc_iterval();
-__code cbc_getcodename();
-__code cbc_iscoderef();
-__code cbc_getcodeobj();
-__code cbc_setcodeobj();
-__code cbc_setcodename();
-__code cbc_forceouterctx();
-__code cbc_setinvokespec();
-__code cbc_isinvokable();
-__code cbc_freshcoderef();
-__code cbc_markcodestatic();
-__code cbc_markcodestub();
-__code cbc_getstaticcode();
-__code cbc_getcodecuid();
-__code cbc_setdispatcher();
-__code cbc_takedispatcher();
-__code cbc_assign();
-__code cbc_assignunchecked();
-__code cbc_iscont();
-__code cbc_decont();
-__code cbc_setcontspec();
-__code cbc_sha1();
-__code cbc_createsc();
-__code cbc_scsetobj();
-__code cbc_scsetcode();
-__code cbc_scgetobj();
-__code cbc_scgethandle();
-__code cbc_scgetobjidx();
-__code cbc_scsetdesc();
-__code cbc_scobjcount();
-__code cbc_setobjsc();
-__code cbc_getobjsc();
-__code cbc_serialize();
-__code cbc_deserialize();
-__code cbc_wval();
-__code cbc_wval_wide();
-__code cbc_scwbdisable();
-__code cbc_scwbenable();
-__code cbc_pushcompsc();
-__code cbc_popcompsc();
-__code cbc_scgetdesc();
-__code cbc_loadbytecode();
-__code cbc_masttofile();
-__code cbc_masttocu();
-__code cbc_iscompunit();
-__code cbc_compunitmainline();
-__code cbc_compunitcodes();
-__code cbc_ctx();
-__code cbc_ctxouter();
-__code cbc_ctxcaller();
-__code cbc_ctxlexpad();
-__code cbc_curcode();
-__code cbc_callercode();
-__code cbc_add_I();
-__code cbc_sub_I();
-__code cbc_mul_I();
-__code cbc_div_I();
-__code cbc_mod_I();
-__code cbc_neg_I();
-__code cbc_abs_I();
-__code cbc_cmp_I();
-__code cbc_eq_I();
-__code cbc_ne_I();
-__code cbc_lt_I();
-__code cbc_le_I();
-__code cbc_gt_I();
-__code cbc_ge_I();
-__code cbc_bor_I();
-__code cbc_bxor_I();
-__code cbc_band_I();
-__code cbc_bnot_I();
-__code cbc_blshift_I();
-__code cbc_brshift_I();
-__code cbc_pow_I();
-__code cbc_gcd_I();
-__code cbc_lcm_I();
-__code cbc_expmod_I();
-__code cbc_isprime_I();
-__code cbc_rand_I();
-__code cbc_coerce_In();
-__code cbc_coerce_Is();
-__code cbc_coerce_nI();
-__code cbc_coerce_sI();
-__code cbc_isbig_I();
-__code cbc_bool_I();
-__code cbc_base_I();
-__code cbc_radix_I();
-__code cbc_div_In();
-__code cbc_copy_f();
-__code cbc_append_f();
-__code cbc_rename_f();
-__code cbc_delete_f();
-__code cbc_chmod_f();
-__code cbc_exists_f();
-__code cbc_mkdir();
-__code cbc_rmdir();
-__code cbc_open_dir();
-__code cbc_read_dir();
-__code cbc_close_dir();
-__code cbc_open_fh();
-__code cbc_close_fh();
-__code cbc_DEPRECATED_23();
-__code cbc_DEPRECATED_27();
-__code cbc_DEPRECATED_28();
-__code cbc_DEPRECATED_18();
-__code cbc_seek_fh();
-__code cbc_lock_fh();
-__code cbc_unlock_fh();
-__code cbc_sync_fh();
-__code cbc_trunc_fh();
-__code cbc_eof_fh();
-__code cbc_getstdin();
-__code cbc_getstdout();
-__code cbc_getstderr();
-__code cbc_connect_sk();
-__code cbc_socket();
-__code cbc_bind_sk();
-__code cbc_DEPRECATED_24();
-__code cbc_accept_sk();
-__code cbc_decodetocodes();
-__code cbc_encodefromcodes();
-__code cbc_DEPRECATED_17();
-__code cbc_print();
-__code cbc_say();
-__code cbc_DEPRECATED_22();
-__code cbc_tell_fh();
-__code cbc_stat();
-__code cbc_tryfindmeth();
-__code cbc_tryfindmeth_s();
-__code cbc_chdir();
-__code cbc_srand();
-__code cbc_rand_i();
-__code cbc_rand_n();
-__code cbc_time_i();
-__code cbc_sleep();
-__code cbc_newthread();
-__code cbc_threadjoin();
-__code cbc_time_n();
-__code cbc_exit();
-__code cbc_DEPRECATED_30();
-__code cbc_cwd();
-__code cbc_clargs();
-__code cbc_getenvhash();
-__code cbc_loadlib();
-__code cbc_freelib();
-__code cbc_findsym();
-__code cbc_dropsym();
-__code cbc_loadext();
-__code cbc_backendconfig();
-__code cbc_getlexouter();
-__code cbc_getlexrel();
-__code cbc_getlexreldyn();
-__code cbc_getlexrelcaller();
-__code cbc_getlexcaller();
-__code cbc_bitand_s();
-__code cbc_bitor_s();
-__code cbc_bitxor_s();
-__code cbc_isnanorinf();
-__code cbc_inf();
-__code cbc_neginf();
-__code cbc_nan();
-__code cbc_getpid();
-__code cbc_DEPRECATED_29();
-__code cbc_filereadable();
-__code cbc_filewritable();
-__code cbc_fileexecutable();
-__code cbc_DEPRECATED_19();
-__code cbc_capturenamedshash();
-__code cbc_read_fhb();
-__code cbc_write_fhb();
-__code cbc_replace();
-__code cbc_newexception();
-__code cbc_permit();
-__code cbc_backtrace();
-__code cbc_symlink();
-__code cbc_link();
-__code cbc_gethostname();
-__code cbc_exreturnafterunwind();
-__code cbc_DEPRECATED_13();
-__code cbc_continuationreset();
-__code cbc_continuationcontrol();
-__code cbc_continuationinvoke();
-__code cbc_randscale_n();
-__code cbc_uniisblock();
-__code cbc_assertparamcheck();
-__code cbc_hintfor();
-__code cbc_paramnamesused();
-__code cbc_getuniname();
-__code cbc_getuniprop_int();
-__code cbc_getuniprop_bool();
-__code cbc_getuniprop_str();
-__code cbc_matchuniprop();
-__code cbc_nativecallbuild();
-__code cbc_nativecallinvoke();
-__code cbc_nativecallrefresh();
-__code cbc_threadrun();
-__code cbc_threadid();
-__code cbc_threadyield();
-__code cbc_currentthread();
-__code cbc_lock();
-__code cbc_unlock();
-__code cbc_semacquire();
-__code cbc_semtryacquire();
-__code cbc_semrelease();
-__code cbc_getlockcondvar();
-__code cbc_condwait();
-__code cbc_condsignalone();
-__code cbc_condsignalall();
-__code cbc_queuepoll();
-__code cbc_setmultispec();
-__code cbc_ctxouterskipthunks();
-__code cbc_ctxcallerskipthunks();
-__code cbc_timer();
-__code cbc_cancel();
-__code cbc_signal();
-__code cbc_watchfile();
-__code cbc_asyncconnect();
-__code cbc_asynclisten();
-__code cbc_DEPRECATED_14();
-__code cbc_asyncwritebytes();
-__code cbc_DEPRECATED_16();
-__code cbc_asyncreadbytes();
-__code cbc_getlexstatic_o();
-__code cbc_getlexperinvtype_o();
-__code cbc_execname();
-__code cbc_const_i64_16();
-__code cbc_const_i64_32();
-__code cbc_isnonnull();
-__code cbc_param_rn2_i();
-__code cbc_param_rn2_n();
-__code cbc_param_rn2_s();
-__code cbc_param_rn2_o();
-__code cbc_param_on2_i();
-__code cbc_param_on2_n();
-__code cbc_param_on2_s();
-__code cbc_param_on2_o();
-__code cbc_osrpoint();
-__code cbc_nativecallcast();
-__code cbc_spawnprocasync();
-__code cbc_killprocasync();
-__code cbc_startprofile();
-__code cbc_endprofile();
-__code cbc_objectid();
-__code cbc_settypefinalize();
-__code cbc_force_gc();
-__code cbc_nativecallglobal();
-__code cbc_DEPRECATED_32();
-__code cbc_setparameterizer();
-__code cbc_parameterizetype();
-__code cbc_typeparameterized();
-__code cbc_typeparameters();
-__code cbc_typeparameterat();
-__code cbc_readlink();
-__code cbc_lstat();
-__code cbc_iscont_i();
-__code cbc_iscont_n();
-__code cbc_iscont_s();
-__code cbc_assign_i();
-__code cbc_assign_n();
-__code cbc_assign_s();
-__code cbc_decont_i();
-__code cbc_decont_n();
-__code cbc_decont_s();
-__code cbc_getrusage();
-__code cbc_threadlockcount();
-__code cbc_DEPRECATED_4();
-__code cbc_getlexref_i();
-__code cbc_getlexref_n();
-__code cbc_getlexref_s();
-__code cbc_getlexref_ni();
-__code cbc_getlexref_nn();
-__code cbc_getlexref_ns();
-__code cbc_atposref_i();
-__code cbc_atposref_n();
-__code cbc_atposref_s();
-__code cbc_getattrref_i();
-__code cbc_getattrref_n();
-__code cbc_getattrref_s();
-__code cbc_getattrsref_i();
-__code cbc_getattrsref_n();
-__code cbc_getattrsref_s();
-__code cbc_nativecallsizeof();
-__code cbc_encodenorm();
-__code cbc_normalizecodes();
-__code cbc_strfromcodes();
-__code cbc_strtocodes();
-__code cbc_getcodelocation();
-__code cbc_eqatim_s();
-__code cbc_ordbaseat();
-__code cbc_neverrepossess();
-__code cbc_scdisclaim();
-__code cbc_DEPRECATED_31();
-__code cbc_atpos2d_i();
-__code cbc_atpos2d_n();
-__code cbc_atpos2d_s();
-__code cbc_atpos2d_o();
-__code cbc_atpos3d_i();
-__code cbc_atpos3d_n();
-__code cbc_atpos3d_s();
-__code cbc_atpos3d_o();
-__code cbc_atposnd_i();
-__code cbc_atposnd_n();
-__code cbc_atposnd_s();
-__code cbc_atposnd_o();
-__code cbc_bindpos2d_i();
-__code cbc_bindpos2d_n();
-__code cbc_bindpos2d_s();
-__code cbc_bindpos2d_o();
-__code cbc_bindpos3d_i();
-__code cbc_bindpos3d_n();
-__code cbc_bindpos3d_s();
-__code cbc_bindpos3d_o();
-__code cbc_bindposnd_i();
-__code cbc_bindposnd_n();
-__code cbc_bindposnd_s();
-__code cbc_bindposnd_o();
-__code cbc_dimensions();
-__code cbc_setdimensions();
-__code cbc_numdimensions();
-__code cbc_ctxcode();
-__code cbc_isrwcont();
-__code cbc_fc();
-__code cbc_DEPRECATED_25();
-__code cbc_DEPRECATED_21();
-__code cbc_encoderep();
-__code cbc_istty_fh();
-__code cbc_multidimref_i();
-__code cbc_multidimref_n();
-__code cbc_multidimref_s();
-__code cbc_fileno_fh();
-__code cbc_asyncudp();
-__code cbc_DEPRECATED_15();
-__code cbc_asyncwritebytesto();
-__code cbc_objprimbits();
-__code cbc_objprimunsigned();
-__code cbc_DEPRECATED_5();
-__code cbc_DEPRECATED_6();
-__code cbc_DEPRECATED_7();
-__code cbc_DEPRECATED_8();
-__code cbc_getlexref_i32();
-__code cbc_getlexref_i16();
-__code cbc_getlexref_i8();
-__code cbc_getlexref_n32();
-__code cbc_box_u();
-__code cbc_unbox_u();
-__code cbc_coerce_iu();
-__code cbc_coerce_ui();
-__code cbc_coerce_nu();
-__code cbc_coerce_un();
-__code cbc_decont_u();
-__code cbc_DEPRECATED_9();
-__code cbc_DEPRECATED_10();
-__code cbc_DEPRECATED_11();
-__code cbc_DEPRECATED_12();
-__code cbc_getlexref_u();
-__code cbc_getlexref_u32();
-__code cbc_getlexref_u16();
-__code cbc_getlexref_u8();
-__code cbc_param_rp_u();
-__code cbc_param_op_u();
-__code cbc_param_rn_u();
-__code cbc_param_on_u();
-__code cbc_param_rn2_u();
-__code cbc_param_on2_u();
-__code cbc_stat_time();
-__code cbc_lstat_time();
-__code cbc_setdebugtypename();
-__code cbc_loadbytecodebuffer();
-__code cbc_loadbytecodefh();
-__code cbc_throwpayloadlex();
-__code cbc_throwpayloadlexcaller();
-__code cbc_lastexpayload();
-__code cbc_cancelnotify();
-__code cbc_decoderconfigure();
-__code cbc_decodersetlineseps();
-__code cbc_decoderaddbytes();
-__code cbc_decodertakechars();
-__code cbc_decodertakeallchars();
-__code cbc_decodertakeavailablechars();
-__code cbc_decodertakeline();
-__code cbc_decoderbytesavailable();
-__code cbc_decodertakebytes();
-__code cbc_decoderempty();
-__code cbc_indexingoptimized();
-__code cbc_captureinnerlex();
-__code cbc_unicmp_s();
-__code cbc_setdispatcherfor();
-__code cbc_getstrfromname();
-__code cbc_indexic_s();
-__code cbc_getport_sk();
-__code cbc_cpucores();
-__code cbc_eqaticim_s();
-__code cbc_indexicim_s();
-__code cbc_decodertakecharseof();
-__code cbc_indexim_s();
-__code cbc_cas_o();
-__code cbc_cas_i();
-__code cbc_atomicinc_i();
-__code cbc_atomicdec_i();
-__code cbc_atomicadd_i();
-__code cbc_atomicload_o();
-__code cbc_atomicload_i();
-__code cbc_atomicstore_o();
-__code cbc_atomicstore_i();
-__code cbc_barrierfull();
-__code cbc_coveragecontrol();
-__code cbc_nativeinvoke_v();
-__code cbc_nativeinvoke_i();
-__code cbc_nativeinvoke_n();
-__code cbc_nativeinvoke_s();
-__code cbc_nativeinvoke_o();
-__code cbc_getarg_i();
-__code cbc_getarg_n();
-__code cbc_getarg_s();
-__code cbc_getarg_o();
-__code cbc_coerce_II();
-__code cbc_encoderepconf();
-__code cbc_encodeconf();
-__code cbc_decodeconf();
-__code cbc_decoderepconf();
-__code cbc_getppid();
-__code cbc_getsignals();
-__code cbc_sp_guard();
-__code cbc_sp_guardconc();
-__code cbc_sp_guardtype();
-__code cbc_sp_guardsf();
-__code cbc_sp_guardsfouter();
-__code cbc_sp_rebless();
-__code cbc_sp_resolvecode();
-__code cbc_sp_decont();
-__code cbc_sp_getlex_o();
-__code cbc_sp_getlex_ins();
-__code cbc_sp_getlex_no();
-__code cbc_sp_getarg_o();
-__code cbc_sp_getarg_i();
-__code cbc_sp_getarg_n();
-__code cbc_sp_getarg_s();
-__code cbc_sp_fastinvoke_v();
-__code cbc_sp_fastinvoke_i();
-__code cbc_sp_fastinvoke_n();
-__code cbc_sp_fastinvoke_s();
-__code cbc_sp_fastinvoke_o();
-__code cbc_sp_paramnamesused();
-__code cbc_sp_getspeshslot();
-__code cbc_sp_findmeth();
-__code cbc_sp_fastcreate();
-__code cbc_sp_get_o();
-__code cbc_sp_get_i64();
-__code cbc_sp_get_i32();
-__code cbc_sp_get_i16();
-__code cbc_sp_get_i8();
-__code cbc_sp_get_n();
-__code cbc_sp_get_s();
-__code cbc_sp_bind_o();
-__code cbc_sp_bind_i64();
-__code cbc_sp_bind_i32();
-__code cbc_sp_bind_i16();
-__code cbc_sp_bind_i8();
-__code cbc_sp_bind_n();
-__code cbc_sp_bind_s();
-__code cbc_sp_p6oget_o();
-__code cbc_sp_p6ogetvt_o();
-__code cbc_sp_p6ogetvc_o();
-__code cbc_sp_p6oget_i();
-__code cbc_sp_p6oget_n();
-__code cbc_sp_p6oget_s();
-__code cbc_sp_p6obind_o();
-__code cbc_sp_p6obind_i();
-__code cbc_sp_p6obind_n();
-__code cbc_sp_p6obind_s();
-__code cbc_sp_deref_get_i64();
-__code cbc_sp_deref_get_n();
-__code cbc_sp_deref_bind_i64();
-__code cbc_sp_deref_bind_n();
-__code cbc_sp_getlexvia_o();
-__code cbc_sp_getlexvia_ins();
-__code cbc_sp_getstringfrom();
-__code cbc_sp_getwvalfrom();
-__code cbc_sp_jit_enter();
-__code cbc_sp_boolify_iter();
-__code cbc_sp_boolify_iter_arr();
-__code cbc_sp_boolify_iter_hash();
-__code cbc_sp_cas_o();
-__code cbc_sp_atomicload_o();
-__code cbc_sp_atomicstore_o();
-__code cbc_prof_enter();
-__code cbc_prof_enterspesh();
-__code cbc_prof_enterinline();
-__code cbc_prof_enternative();
-__code cbc_prof_exit();
-__code cbc_prof_allocated();
-__code cbc_ctw_check();
-__code cbc_coverage_log();
-__code cbc_breakpoint();
+typedef struct interp {
+     MVMuint16 op;
+     /* Points to the place in the bytecode right after the current opcode. */
+     /* See the NEXT_OP macro for making sense of this */
+     MVMuint8 *cur_op;
+
+     /* The current frame's bytecode start. */
+     MVMuint8 *bytecode_start;
+
+     /* Points to the base of the current register set for the frame we
+      * are presently in. */
+     MVMRegister *reg_base;
+
+     /* Points to the current compilation unit. */
+     MVMCompUnit *cu;
+
+     /* The current call site we're constructing. */
+     MVMCallsite *cur_callsite;
 
-__code (* CODES[])() = {
+     MVMThreadContext *tc;
+ } INTER,*INTERP;
+__code cbc_no_op(INTERP);
+__code cbc_const_i8(INTERP);
+__code cbc_const_i16(INTERP);
+__code cbc_const_i32(INTERP);
+__code cbc_const_i64(INTERP);
+__code cbc_const_n32(INTERP);
+__code cbc_const_n64(INTERP);
+__code cbc_const_s(INTERP);
+__code cbc_set(INTERP);
+__code cbc_extend_u8(INTERP);
+__code cbc_extend_u16(INTERP);
+__code cbc_extend_u32(INTERP);
+__code cbc_extend_i8(INTERP);
+__code cbc_extend_i16(INTERP);
+__code cbc_extend_i32(INTERP);
+__code cbc_trunc_u8(INTERP);
+__code cbc_trunc_u16(INTERP);
+__code cbc_trunc_u32(INTERP);
+__code cbc_trunc_i8(INTERP);
+__code cbc_trunc_i16(INTERP);
+__code cbc_trunc_i32(INTERP);
+__code cbc_extend_n32(INTERP);
+__code cbc_trunc_n32(INTERP);
+__code cbc_goto(INTERP);
+__code cbc_if_i(INTERP);
+__code cbc_unless_i(INTERP);
+__code cbc_if_n(INTERP);
+__code cbc_unless_n(INTERP);
+__code cbc_if_s(INTERP);
+__code cbc_unless_s(INTERP);
+__code cbc_if_s0(INTERP);
+__code cbc_unless_s0(INTERP);
+__code cbc_if_o(INTERP);
+__code cbc_unless_o(INTERP);
+__code cbc_jumplist(INTERP);
+__code cbc_getlex(INTERP);
+__code cbc_bindlex(INTERP);
+__code cbc_getlex_ni(INTERP);
+__code cbc_getlex_nn(INTERP);
+__code cbc_getlex_ns(INTERP);
+__code cbc_getlex_no(INTERP);
+__code cbc_bindlex_ni(INTERP);
+__code cbc_bindlex_nn(INTERP);
+__code cbc_bindlex_ns(INTERP);
+__code cbc_bindlex_no(INTERP);
+__code cbc_getlex_ng(INTERP);
+__code cbc_bindlex_ng(INTERP);
+__code cbc_getdynlex(INTERP);
+__code cbc_binddynlex(INTERP);
+__code cbc_setlexvalue(INTERP);
+__code cbc_lexprimspec(INTERP);
+__code cbc_return_i(INTERP);
+__code cbc_return_n(INTERP);
+__code cbc_return_s(INTERP);
+__code cbc_return_o(INTERP);
+__code cbc_return(INTERP);
+__code cbc_eq_i(INTERP);
+__code cbc_ne_i(INTERP);
+__code cbc_lt_i(INTERP);
+__code cbc_le_i(INTERP);
+__code cbc_gt_i(INTERP);
+__code cbc_ge_i(INTERP);
+__code cbc_cmp_i(INTERP);
+__code cbc_add_i(INTERP);
+__code cbc_sub_i(INTERP);
+__code cbc_mul_i(INTERP);
+__code cbc_div_i(INTERP);
+__code cbc_div_u(INTERP);
+__code cbc_mod_i(INTERP);
+__code cbc_mod_u(INTERP);
+__code cbc_neg_i(INTERP);
+__code cbc_abs_i(INTERP);
+__code cbc_inc_i(INTERP);
+__code cbc_inc_u(INTERP);
+__code cbc_dec_i(INTERP);
+__code cbc_dec_u(INTERP);
+__code cbc_band_i(INTERP);
+__code cbc_bor_i(INTERP);
+__code cbc_bxor_i(INTERP);
+__code cbc_bnot_i(INTERP);
+__code cbc_blshift_i(INTERP);
+__code cbc_brshift_i(INTERP);
+__code cbc_pow_i(INTERP);
+__code cbc_not_i(INTERP);
+__code cbc_gcd_i(INTERP);
+__code cbc_lcm_i(INTERP);
+__code cbc_eq_n(INTERP);
+__code cbc_ne_n(INTERP);
+__code cbc_lt_n(INTERP);
+__code cbc_le_n(INTERP);
+__code cbc_gt_n(INTERP);
+__code cbc_ge_n(INTERP);
+__code cbc_cmp_n(INTERP);
+__code cbc_add_n(INTERP);
+__code cbc_sub_n(INTERP);
+__code cbc_mul_n(INTERP);
+__code cbc_div_n(INTERP);
+__code cbc_mod_n(INTERP);
+__code cbc_neg_n(INTERP);
+__code cbc_abs_n(INTERP);
+__code cbc_pow_n(INTERP);
+__code cbc_ceil_n(INTERP);
+__code cbc_floor_n(INTERP);
+__code cbc_sin_n(INTERP);
+__code cbc_asin_n(INTERP);
+__code cbc_cos_n(INTERP);
+__code cbc_acos_n(INTERP);
+__code cbc_tan_n(INTERP);
+__code cbc_atan_n(INTERP);
+__code cbc_atan2_n(INTERP);
+__code cbc_sec_n(INTERP);
+__code cbc_asec_n(INTERP);
+__code cbc_sinh_n(INTERP);
+__code cbc_cosh_n(INTERP);
+__code cbc_tanh_n(INTERP);
+__code cbc_sech_n(INTERP);
+__code cbc_sqrt_n(INTERP);
+__code cbc_log_n(INTERP);
+__code cbc_exp_n(INTERP);
+__code cbc_coerce_in(INTERP);
+__code cbc_coerce_ni(INTERP);
+__code cbc_coerce_is(INTERP);
+__code cbc_coerce_ns(INTERP);
+__code cbc_coerce_si(INTERP);
+__code cbc_coerce_sn(INTERP);
+__code cbc_smrt_numify(INTERP);
+__code cbc_smrt_strify(INTERP);
+__code cbc_prepargs(INTERP);
+__code cbc_arg_i(INTERP);
+__code cbc_arg_n(INTERP);
+__code cbc_arg_s(INTERP);
+__code cbc_arg_o(INTERP);
+__code cbc_argconst_i(INTERP);
+__code cbc_argconst_n(INTERP);
+__code cbc_argconst_s(INTERP);
+__code cbc_invoke_v(INTERP);
+__code cbc_invoke_i(INTERP);
+__code cbc_invoke_n(INTERP);
+__code cbc_invoke_s(INTERP);
+__code cbc_invoke_o(INTERP);
+__code cbc_checkarity(INTERP);
+__code cbc_param_rp_i(INTERP);
+__code cbc_param_rp_n(INTERP);
+__code cbc_param_rp_s(INTERP);
+__code cbc_param_rp_o(INTERP);
+__code cbc_param_op_i(INTERP);
+__code cbc_param_op_n(INTERP);
+__code cbc_param_op_s(INTERP);
+__code cbc_param_op_o(INTERP);
+__code cbc_param_rn_i(INTERP);
+__code cbc_param_rn_n(INTERP);
+__code cbc_param_rn_s(INTERP);
+__code cbc_param_rn_o(INTERP);
+__code cbc_param_on_i(INTERP);
+__code cbc_param_on_n(INTERP);
+__code cbc_param_on_s(INTERP);
+__code cbc_param_on_o(INTERP);
+__code cbc_param_sp(INTERP);
+__code cbc_param_sn(INTERP);
+__code cbc_getcode(INTERP);
+__code cbc_caller(INTERP);
+__code cbc_capturelex(INTERP);
+__code cbc_takeclosure(INTERP);
+__code cbc_exception(INTERP);
+__code cbc_bindexmessage(INTERP);
+__code cbc_bindexpayload(INTERP);
+__code cbc_bindexcategory(INTERP);
+__code cbc_getexmessage(INTERP);
+__code cbc_getexpayload(INTERP);
+__code cbc_getexcategory(INTERP);
+__code cbc_throwdyn(INTERP);
+__code cbc_throwlex(INTERP);
+__code cbc_throwlexotic(INTERP);
+__code cbc_throwcatdyn(INTERP);
+__code cbc_throwcatlex(INTERP);
+__code cbc_throwcatlexotic(INTERP);
+__code cbc_die(INTERP);
+__code cbc_rethrow(INTERP);
+__code cbc_resume(INTERP);
+__code cbc_takehandlerresult(INTERP);
+__code cbc_DEPRECATED_33(INTERP);
+__code cbc_DEPRECATED_34(INTERP);
+__code cbc_backtracestrings(INTERP);
+__code cbc_usecapture(INTERP);
+__code cbc_savecapture(INTERP);
+__code cbc_captureposelems(INTERP);
+__code cbc_captureposarg(INTERP);
+__code cbc_captureposarg_i(INTERP);
+__code cbc_captureposarg_n(INTERP);
+__code cbc_captureposarg_s(INTERP);
+__code cbc_captureposprimspec(INTERP);
+__code cbc_captureexistsnamed(INTERP);
+__code cbc_capturehasnameds(INTERP);
+__code cbc_invokewithcapture(INTERP);
+__code cbc_multicacheadd(INTERP);
+__code cbc_multicachefind(INTERP);
+__code cbc_null_s(INTERP);
+__code cbc_isnull_s(INTERP);
+__code cbc_eq_s(INTERP);
+__code cbc_ne_s(INTERP);
+__code cbc_gt_s(INTERP);
+__code cbc_ge_s(INTERP);
+__code cbc_lt_s(INTERP);
+__code cbc_le_s(INTERP);
+__code cbc_cmp_s(INTERP);
+__code cbc_eqat_s(INTERP);
+__code cbc_eqatic_s(INTERP);
+__code cbc_haveat_s(INTERP);
+__code cbc_concat_s(INTERP);
+__code cbc_repeat_s(INTERP);
+__code cbc_substr_s(INTERP);
+__code cbc_index_s(INTERP);
+__code cbc_graphs_s(INTERP);
+__code cbc_codes_s(INTERP);
+__code cbc_getcp_s(INTERP);
+__code cbc_indexcp_s(INTERP);
+__code cbc_uc(INTERP);
+__code cbc_lc(INTERP);
+__code cbc_tc(INTERP);
+__code cbc_split(INTERP);
+__code cbc_join(INTERP);
+__code cbc_getcpbyname(INTERP);
+__code cbc_indexat(INTERP);
+__code cbc_indexnat(INTERP);
+__code cbc_unipropcode(INTERP);
+__code cbc_unipvalcode(INTERP);
+__code cbc_hasuniprop(INTERP);
+__code cbc_hasunipropc(INTERP);
+__code cbc_chars(INTERP);
+__code cbc_chr(INTERP);
+__code cbc_ordfirst(INTERP);
+__code cbc_ordat(INTERP);
+__code cbc_rindexfrom(INTERP);
+__code cbc_escape(INTERP);
+__code cbc_flip(INTERP);
+__code cbc_setbuffersize_fh(INTERP);
+__code cbc_iscclass(INTERP);
+__code cbc_findcclass(INTERP);
+__code cbc_findnotcclass(INTERP);
+__code cbc_nfafromstatelist(INTERP);
+__code cbc_nfarunproto(INTERP);
+__code cbc_nfarunalt(INTERP);
+__code cbc_radix(INTERP);
+__code cbc_encode(INTERP);
+__code cbc_decode(INTERP);
+__code cbc_istrue_s(INTERP);
+__code cbc_isfalse_s(INTERP);
+__code cbc_null(INTERP);
+__code cbc_isnull(INTERP);
+__code cbc_ifnonnull(INTERP);
+__code cbc_findmeth(INTERP);
+__code cbc_findmeth_s(INTERP);
+__code cbc_can(INTERP);
+__code cbc_can_s(INTERP);
+__code cbc_create(INTERP);
+__code cbc_clone(INTERP);
+__code cbc_isconcrete(INTERP);
+__code cbc_rebless(INTERP);
+__code cbc_istype(INTERP);
+__code cbc_objprimspec(INTERP);
+__code cbc_gethow(INTERP);
+__code cbc_getwhat(INTERP);
+__code cbc_getwho(INTERP);
+__code cbc_setwho(INTERP);
+__code cbc_reprname(INTERP);
+__code cbc_getwhere(INTERP);
+__code cbc_eqaddr(INTERP);
+__code cbc_bindattr_i(INTERP);
+__code cbc_bindattr_n(INTERP);
+__code cbc_bindattr_s(INTERP);
+__code cbc_bindattr_o(INTERP);
+__code cbc_bindattrs_i(INTERP);
+__code cbc_bindattrs_n(INTERP);
+__code cbc_bindattrs_s(INTERP);
+__code cbc_bindattrs_o(INTERP);
+__code cbc_getattr_i(INTERP);
+__code cbc_getattr_n(INTERP);
+__code cbc_getattr_s(INTERP);
+__code cbc_getattr_o(INTERP);
+__code cbc_getattrs_i(INTERP);
+__code cbc_getattrs_n(INTERP);
+__code cbc_getattrs_s(INTERP);
+__code cbc_getattrs_o(INTERP);
+__code cbc_attrinited(INTERP);
+__code cbc_box_i(INTERP);
+__code cbc_box_n(INTERP);
+__code cbc_box_s(INTERP);
+__code cbc_unbox_i(INTERP);
+__code cbc_unbox_n(INTERP);
+__code cbc_unbox_s(INTERP);
+__code cbc_atpos_i(INTERP);
+__code cbc_atpos_n(INTERP);
+__code cbc_atpos_s(INTERP);
+__code cbc_atpos_o(INTERP);
+__code cbc_bindpos_i(INTERP);
+__code cbc_bindpos_n(INTERP);
+__code cbc_bindpos_s(INTERP);
+__code cbc_bindpos_o(INTERP);
+__code cbc_push_i(INTERP);
+__code cbc_push_n(INTERP);
+__code cbc_push_s(INTERP);
+__code cbc_push_o(INTERP);
+__code cbc_pop_i(INTERP);
+__code cbc_pop_n(INTERP);
+__code cbc_pop_s(INTERP);
+__code cbc_pop_o(INTERP);
+__code cbc_shift_i(INTERP);
+__code cbc_shift_n(INTERP);
+__code cbc_shift_s(INTERP);
+__code cbc_shift_o(INTERP);
+__code cbc_unshift_i(INTERP);
+__code cbc_unshift_n(INTERP);
+__code cbc_unshift_s(INTERP);
+__code cbc_unshift_o(INTERP);
+__code cbc_splice(INTERP);
+__code cbc_setelemspos(INTERP);
+__code cbc_existspos(INTERP);
+__code cbc_atkey_i(INTERP);
+__code cbc_atkey_n(INTERP);
+__code cbc_atkey_s(INTERP);
+__code cbc_atkey_o(INTERP);
+__code cbc_bindkey_i(INTERP);
+__code cbc_bindkey_n(INTERP);
+__code cbc_bindkey_s(INTERP);
+__code cbc_bindkey_o(INTERP);
+__code cbc_existskey(INTERP);
+__code cbc_deletekey(INTERP);
+__code cbc_elems(INTERP);
+__code cbc_knowhow(INTERP);
+__code cbc_knowhowattr(INTERP);
+__code cbc_newtype(INTERP);
+__code cbc_composetype(INTERP);
+__code cbc_setmethcache(INTERP);
+__code cbc_setmethcacheauth(INTERP);
+__code cbc_settypecache(INTERP);
+__code cbc_settypecheckmode(INTERP);
+__code cbc_setboolspec(INTERP);
+__code cbc_istrue(INTERP);
+__code cbc_isfalse(INTERP);
+__code cbc_bootint(INTERP);
+__code cbc_bootnum(INTERP);
+__code cbc_bootstr(INTERP);
+__code cbc_bootarray(INTERP);
+__code cbc_bootintarray(INTERP);
+__code cbc_bootnumarray(INTERP);
+__code cbc_bootstrarray(INTERP);
+__code cbc_boothash(INTERP);
+__code cbc_isint(INTERP);
+__code cbc_isnum(INTERP);
+__code cbc_isstr(INTERP);
+__code cbc_islist(INTERP);
+__code cbc_ishash(INTERP);
+__code cbc_sethllconfig(INTERP);
+__code cbc_hllboxtype_i(INTERP);
+__code cbc_hllboxtype_n(INTERP);
+__code cbc_hllboxtype_s(INTERP);
+__code cbc_hlllist(INTERP);
+__code cbc_hllhash(INTERP);
+__code cbc_getcomp(INTERP);
+__code cbc_bindcomp(INTERP);
+__code cbc_getcurhllsym(INTERP);
+__code cbc_bindcurhllsym(INTERP);
+__code cbc_gethllsym(INTERP);
+__code cbc_bindhllsym(INTERP);
+__code cbc_settypehll(INTERP);
+__code cbc_settypehllrole(INTERP);
+__code cbc_hllize(INTERP);
+__code cbc_hllizefor(INTERP);
+__code cbc_usecompileehllconfig(INTERP);
+__code cbc_usecompilerhllconfig(INTERP);
+__code cbc_iter(INTERP);
+__code cbc_iterkey_s(INTERP);
+__code cbc_iterval(INTERP);
+__code cbc_getcodename(INTERP);
+__code cbc_iscoderef(INTERP);
+__code cbc_getcodeobj(INTERP);
+__code cbc_setcodeobj(INTERP);
+__code cbc_setcodename(INTERP);
+__code cbc_forceouterctx(INTERP);
+__code cbc_setinvokespec(INTERP);
+__code cbc_isinvokable(INTERP);
+__code cbc_freshcoderef(INTERP);
+__code cbc_markcodestatic(INTERP);
+__code cbc_markcodestub(INTERP);
+__code cbc_getstaticcode(INTERP);
+__code cbc_getcodecuid(INTERP);
+__code cbc_setdispatcher(INTERP);
+__code cbc_takedispatcher(INTERP);
+__code cbc_assign(INTERP);
+__code cbc_assignunchecked(INTERP);
+__code cbc_iscont(INTERP);
+__code cbc_decont(INTERP);
+__code cbc_setcontspec(INTERP);
+__code cbc_sha1(INTERP);
+__code cbc_createsc(INTERP);
+__code cbc_scsetobj(INTERP);
+__code cbc_scsetcode(INTERP);
+__code cbc_scgetobj(INTERP);
+__code cbc_scgethandle(INTERP);
+__code cbc_scgetobjidx(INTERP);
+__code cbc_scsetdesc(INTERP);
+__code cbc_scobjcount(INTERP);
+__code cbc_setobjsc(INTERP);
+__code cbc_getobjsc(INTERP);
+__code cbc_serialize(INTERP);
+__code cbc_deserialize(INTERP);
+__code cbc_wval(INTERP);
+__code cbc_wval_wide(INTERP);
+__code cbc_scwbdisable(INTERP);
+__code cbc_scwbenable(INTERP);
+__code cbc_pushcompsc(INTERP);
+__code cbc_popcompsc(INTERP);
+__code cbc_scgetdesc(INTERP);
+__code cbc_loadbytecode(INTERP);
+__code cbc_masttofile(INTERP);
+__code cbc_masttocu(INTERP);
+__code cbc_iscompunit(INTERP);
+__code cbc_compunitmainline(INTERP);
+__code cbc_compunitcodes(INTERP);
+__code cbc_ctx(INTERP);
+__code cbc_ctxouter(INTERP);
+__code cbc_ctxcaller(INTERP);
+__code cbc_ctxlexpad(INTERP);
+__code cbc_curcode(INTERP);
+__code cbc_callercode(INTERP);
+__code cbc_add_I(INTERP);
+__code cbc_sub_I(INTERP);
+__code cbc_mul_I(INTERP);
+__code cbc_div_I(INTERP);
+__code cbc_mod_I(INTERP);
+__code cbc_neg_I(INTERP);
+__code cbc_abs_I(INTERP);
+__code cbc_cmp_I(INTERP);
+__code cbc_eq_I(INTERP);
+__code cbc_ne_I(INTERP);
+__code cbc_lt_I(INTERP);
+__code cbc_le_I(INTERP);
+__code cbc_gt_I(INTERP);
+__code cbc_ge_I(INTERP);
+__code cbc_bor_I(INTERP);
+__code cbc_bxor_I(INTERP);
+__code cbc_band_I(INTERP);
+__code cbc_bnot_I(INTERP);
+__code cbc_blshift_I(INTERP);
+__code cbc_brshift_I(INTERP);
+__code cbc_pow_I(INTERP);
+__code cbc_gcd_I(INTERP);
+__code cbc_lcm_I(INTERP);
+__code cbc_expmod_I(INTERP);
+__code cbc_isprime_I(INTERP);
+__code cbc_rand_I(INTERP);
+__code cbc_coerce_In(INTERP);
+__code cbc_coerce_Is(INTERP);
+__code cbc_coerce_nI(INTERP);
+__code cbc_coerce_sI(INTERP);
+__code cbc_isbig_I(INTERP);
+__code cbc_bool_I(INTERP);
+__code cbc_base_I(INTERP);
+__code cbc_radix_I(INTERP);
+__code cbc_div_In(INTERP);
+__code cbc_copy_f(INTERP);
+__code cbc_append_f(INTERP);
+__code cbc_rename_f(INTERP);
+__code cbc_delete_f(INTERP);
+__code cbc_chmod_f(INTERP);
+__code cbc_exists_f(INTERP);
+__code cbc_mkdir(INTERP);
+__code cbc_rmdir(INTERP);
+__code cbc_open_dir(INTERP);
+__code cbc_read_dir(INTERP);
+__code cbc_close_dir(INTERP);
+__code cbc_open_fh(INTERP);
+__code cbc_close_fh(INTERP);
+__code cbc_DEPRECATED_23(INTERP);
+__code cbc_DEPRECATED_27(INTERP);
+__code cbc_DEPRECATED_28(INTERP);
+__code cbc_DEPRECATED_18(INTERP);
+__code cbc_seek_fh(INTERP);
+__code cbc_lock_fh(INTERP);
+__code cbc_unlock_fh(INTERP);
+__code cbc_sync_fh(INTERP);
+__code cbc_trunc_fh(INTERP);
+__code cbc_eof_fh(INTERP);
+__code cbc_getstdin(INTERP);
+__code cbc_getstdout(INTERP);
+__code cbc_getstderr(INTERP);
+__code cbc_connect_sk(INTERP);
+__code cbc_socket(INTERP);
+__code cbc_bind_sk(INTERP);
+__code cbc_DEPRECATED_24(INTERP);
+__code cbc_accept_sk(INTERP);
+__code cbc_decodetocodes(INTERP);
+__code cbc_encodefromcodes(INTERP);
+__code cbc_DEPRECATED_17(INTERP);
+__code cbc_print(INTERP);
+__code cbc_say(INTERP);
+__code cbc_DEPRECATED_22(INTERP);
+__code cbc_tell_fh(INTERP);
+__code cbc_stat(INTERP);
+__code cbc_tryfindmeth(INTERP);
+__code cbc_tryfindmeth_s(INTERP);
+__code cbc_chdir(INTERP);
+__code cbc_srand(INTERP);
+__code cbc_rand_i(INTERP);
+__code cbc_rand_n(INTERP);
+__code cbc_time_i(INTERP);
+__code cbc_sleep(INTERP);
+__code cbc_newthread(INTERP);
+__code cbc_threadjoin(INTERP);
+__code cbc_time_n(INTERP);
+__code cbc_exit(INTERP);
+__code cbc_DEPRECATED_30(INTERP);
+__code cbc_cwd(INTERP);
+__code cbc_clargs(INTERP);
+__code cbc_getenvhash(INTERP);
+__code cbc_loadlib(INTERP);
+__code cbc_freelib(INTERP);
+__code cbc_findsym(INTERP);
+__code cbc_dropsym(INTERP);
+__code cbc_loadext(INTERP);
+__code cbc_backendconfig(INTERP);
+__code cbc_getlexouter(INTERP);
+__code cbc_getlexrel(INTERP);
+__code cbc_getlexreldyn(INTERP);
+__code cbc_getlexrelcaller(INTERP);
+__code cbc_getlexcaller(INTERP);
+__code cbc_bitand_s(INTERP);
+__code cbc_bitor_s(INTERP);
+__code cbc_bitxor_s(INTERP);
+__code cbc_isnanorinf(INTERP);
+__code cbc_inf(INTERP);
+__code cbc_neginf(INTERP);
+__code cbc_nan(INTERP);
+__code cbc_getpid(INTERP);
+__code cbc_DEPRECATED_29(INTERP);
+__code cbc_filereadable(INTERP);
+__code cbc_filewritable(INTERP);
+__code cbc_fileexecutable(INTERP);
+__code cbc_DEPRECATED_19(INTERP);
+__code cbc_capturenamedshash(INTERP);
+__code cbc_read_fhb(INTERP);
+__code cbc_write_fhb(INTERP);
+__code cbc_replace(INTERP);
+__code cbc_newexception(INTERP);
+__code cbc_permit(INTERP);
+__code cbc_backtrace(INTERP);
+__code cbc_symlink(INTERP);
+__code cbc_link(INTERP);
+__code cbc_gethostname(INTERP);
+__code cbc_exreturnafterunwind(INTERP);
+__code cbc_DEPRECATED_13(INTERP);
+__code cbc_continuationreset(INTERP);
+__code cbc_continuationcontrol(INTERP);
+__code cbc_continuationinvoke(INTERP);
+__code cbc_randscale_n(INTERP);
+__code cbc_uniisblock(INTERP);
+__code cbc_assertparamcheck(INTERP);
+__code cbc_hintfor(INTERP);
+__code cbc_paramnamesused(INTERP);
+__code cbc_getuniname(INTERP);
+__code cbc_getuniprop_int(INTERP);
+__code cbc_getuniprop_bool(INTERP);
+__code cbc_getuniprop_str(INTERP);
+__code cbc_matchuniprop(INTERP);
+__code cbc_nativecallbuild(INTERP);
+__code cbc_nativecallinvoke(INTERP);
+__code cbc_nativecallrefresh(INTERP);
+__code cbc_threadrun(INTERP);
+__code cbc_threadid(INTERP);
+__code cbc_threadyield(INTERP);
+__code cbc_currentthread(INTERP);
+__code cbc_lock(INTERP);
+__code cbc_unlock(INTERP);
+__code cbc_semacquire(INTERP);
+__code cbc_semtryacquire(INTERP);
+__code cbc_semrelease(INTERP);
+__code cbc_getlockcondvar(INTERP);
+__code cbc_condwait(INTERP);
+__code cbc_condsignalone(INTERP);
+__code cbc_condsignalall(INTERP);
+__code cbc_queuepoll(INTERP);
+__code cbc_setmultispec(INTERP);
+__code cbc_ctxouterskipthunks(INTERP);
+__code cbc_ctxcallerskipthunks(INTERP);
+__code cbc_timer(INTERP);
+__code cbc_cancel(INTERP);
+__code cbc_signal(INTERP);
+__code cbc_watchfile(INTERP);
+__code cbc_asyncconnect(INTERP);
+__code cbc_asynclisten(INTERP);
+__code cbc_DEPRECATED_14(INTERP);
+__code cbc_asyncwritebytes(INTERP);
+__code cbc_DEPRECATED_16(INTERP);
+__code cbc_asyncreadbytes(INTERP);
+__code cbc_getlexstatic_o(INTERP);
+__code cbc_getlexperinvtype_o(INTERP);
+__code cbc_execname(INTERP);
+__code cbc_const_i64_16(INTERP);
+__code cbc_const_i64_32(INTERP);
+__code cbc_isnonnull(INTERP);
+__code cbc_param_rn2_i(INTERP);
+__code cbc_param_rn2_n(INTERP);
+__code cbc_param_rn2_s(INTERP);
+__code cbc_param_rn2_o(INTERP);
+__code cbc_param_on2_i(INTERP);
+__code cbc_param_on2_n(INTERP);
+__code cbc_param_on2_s(INTERP);
+__code cbc_param_on2_o(INTERP);
+__code cbc_osrpoint(INTERP);
+__code cbc_nativecallcast(INTERP);
+__code cbc_spawnprocasync(INTERP);
+__code cbc_killprocasync(INTERP);
+__code cbc_startprofile(INTERP);
+__code cbc_endprofile(INTERP);
+__code cbc_objectid(INTERP);
+__code cbc_settypefinalize(INTERP);
+__code cbc_force_gc(INTERP);
+__code cbc_nativecallglobal(INTERP);
+__code cbc_DEPRECATED_32(INTERP);
+__code cbc_setparameterizer(INTERP);
+__code cbc_parameterizetype(INTERP);
+__code cbc_typeparameterized(INTERP);
+__code cbc_typeparameters(INTERP);
+__code cbc_typeparameterat(INTERP);
+__code cbc_readlink(INTERP);
+__code cbc_lstat(INTERP);
+__code cbc_iscont_i(INTERP);
+__code cbc_iscont_n(INTERP);
+__code cbc_iscont_s(INTERP);
+__code cbc_assign_i(INTERP);
+__code cbc_assign_n(INTERP);
+__code cbc_assign_s(INTERP);
+__code cbc_decont_i(INTERP);
+__code cbc_decont_n(INTERP);
+__code cbc_decont_s(INTERP);
+__code cbc_getrusage(INTERP);
+__code cbc_threadlockcount(INTERP);
+__code cbc_DEPRECATED_4(INTERP);
+__code cbc_getlexref_i(INTERP);
+__code cbc_getlexref_n(INTERP);
+__code cbc_getlexref_s(INTERP);
+__code cbc_getlexref_ni(INTERP);
+__code cbc_getlexref_nn(INTERP);
+__code cbc_getlexref_ns(INTERP);
+__code cbc_atposref_i(INTERP);
+__code cbc_atposref_n(INTERP);
+__code cbc_atposref_s(INTERP);
+__code cbc_getattrref_i(INTERP);
+__code cbc_getattrref_n(INTERP);
+__code cbc_getattrref_s(INTERP);
+__code cbc_getattrsref_i(INTERP);
+__code cbc_getattrsref_n(INTERP);
+__code cbc_getattrsref_s(INTERP);
+__code cbc_nativecallsizeof(INTERP);
+__code cbc_encodenorm(INTERP);
+__code cbc_normalizecodes(INTERP);
+__code cbc_strfromcodes(INTERP);
+__code cbc_strtocodes(INTERP);
+__code cbc_getcodelocation(INTERP);
+__code cbc_eqatim_s(INTERP);
+__code cbc_ordbaseat(INTERP);
+__code cbc_neverrepossess(INTERP);
+__code cbc_scdisclaim(INTERP);
+__code cbc_DEPRECATED_31(INTERP);
+__code cbc_atpos2d_i(INTERP);
+__code cbc_atpos2d_n(INTERP);
+__code cbc_atpos2d_s(INTERP);
+__code cbc_atpos2d_o(INTERP);
+__code cbc_atpos3d_i(INTERP);
+__code cbc_atpos3d_n(INTERP);
+__code cbc_atpos3d_s(INTERP);
+__code cbc_atpos3d_o(INTERP);
+__code cbc_atposnd_i(INTERP);
+__code cbc_atposnd_n(INTERP);
+__code cbc_atposnd_s(INTERP);
+__code cbc_atposnd_o(INTERP);
+__code cbc_bindpos2d_i(INTERP);
+__code cbc_bindpos2d_n(INTERP);
+__code cbc_bindpos2d_s(INTERP);
+__code cbc_bindpos2d_o(INTERP);
+__code cbc_bindpos3d_i(INTERP);
+__code cbc_bindpos3d_n(INTERP);
+__code cbc_bindpos3d_s(INTERP);
+__code cbc_bindpos3d_o(INTERP);
+__code cbc_bindposnd_i(INTERP);
+__code cbc_bindposnd_n(INTERP);
+__code cbc_bindposnd_s(INTERP);
+__code cbc_bindposnd_o(INTERP);
+__code cbc_dimensions(INTERP);
+__code cbc_setdimensions(INTERP);
+__code cbc_numdimensions(INTERP);
+__code cbc_ctxcode(INTERP);
+__code cbc_isrwcont(INTERP);
+__code cbc_fc(INTERP);
+__code cbc_DEPRECATED_25(INTERP);
+__code cbc_DEPRECATED_21(INTERP);
+__code cbc_encoderep(INTERP);
+__code cbc_istty_fh(INTERP);
+__code cbc_multidimref_i(INTERP);
+__code cbc_multidimref_n(INTERP);
+__code cbc_multidimref_s(INTERP);
+__code cbc_fileno_fh(INTERP);
+__code cbc_asyncudp(INTERP);
+__code cbc_DEPRECATED_15(INTERP);
+__code cbc_asyncwritebytesto(INTERP);
+__code cbc_objprimbits(INTERP);
+__code cbc_objprimunsigned(INTERP);
+__code cbc_DEPRECATED_5(INTERP);
+__code cbc_DEPRECATED_6(INTERP);
+__code cbc_DEPRECATED_7(INTERP);
+__code cbc_DEPRECATED_8(INTERP);
+__code cbc_getlexref_i32(INTERP);
+__code cbc_getlexref_i16(INTERP);
+__code cbc_getlexref_i8(INTERP);
+__code cbc_getlexref_n32(INTERP);
+__code cbc_box_u(INTERP);
+__code cbc_unbox_u(INTERP);
+__code cbc_coerce_iu(INTERP);
+__code cbc_coerce_ui(INTERP);
+__code cbc_coerce_nu(INTERP);
+__code cbc_coerce_un(INTERP);
+__code cbc_decont_u(INTERP);
+__code cbc_DEPRECATED_9(INTERP);
+__code cbc_DEPRECATED_10(INTERP);
+__code cbc_DEPRECATED_11(INTERP);
+__code cbc_DEPRECATED_12(INTERP);
+__code cbc_getlexref_u(INTERP);
+__code cbc_getlexref_u32(INTERP);
+__code cbc_getlexref_u16(INTERP);
+__code cbc_getlexref_u8(INTERP);
+__code cbc_param_rp_u(INTERP);
+__code cbc_param_op_u(INTERP);
+__code cbc_param_rn_u(INTERP);
+__code cbc_param_on_u(INTERP);
+__code cbc_param_rn2_u(INTERP);
+__code cbc_param_on2_u(INTERP);
+__code cbc_stat_time(INTERP);
+__code cbc_lstat_time(INTERP);
+__code cbc_setdebugtypename(INTERP);
+__code cbc_loadbytecodebuffer(INTERP);
+__code cbc_loadbytecodefh(INTERP);
+__code cbc_throwpayloadlex(INTERP);
+__code cbc_throwpayloadlexcaller(INTERP);
+__code cbc_lastexpayload(INTERP);
+__code cbc_cancelnotify(INTERP);
+__code cbc_decoderconfigure(INTERP);
+__code cbc_decodersetlineseps(INTERP);
+__code cbc_decoderaddbytes(INTERP);
+__code cbc_decodertakechars(INTERP);
+__code cbc_decodertakeallchars(INTERP);
+__code cbc_decodertakeavailablechars(INTERP);
+__code cbc_decodertakeline(INTERP);
+__code cbc_decoderbytesavailable(INTERP);
+__code cbc_decodertakebytes(INTERP);
+__code cbc_decoderempty(INTERP);
+__code cbc_indexingoptimized(INTERP);
+__code cbc_captureinnerlex(INTERP);
+__code cbc_unicmp_s(INTERP);
+__code cbc_setdispatcherfor(INTERP);
+__code cbc_getstrfromname(INTERP);
+__code cbc_indexic_s(INTERP);
+__code cbc_getport_sk(INTERP);
+__code cbc_cpucores(INTERP);
+__code cbc_eqaticim_s(INTERP);
+__code cbc_indexicim_s(INTERP);
+__code cbc_decodertakecharseof(INTERP);
+__code cbc_indexim_s(INTERP);
+__code cbc_cas_o(INTERP);
+__code cbc_cas_i(INTERP);
+__code cbc_atomicinc_i(INTERP);
+__code cbc_atomicdec_i(INTERP);
+__code cbc_atomicadd_i(INTERP);
+__code cbc_atomicload_o(INTERP);
+__code cbc_atomicload_i(INTERP);
+__code cbc_atomicstore_o(INTERP);
+__code cbc_atomicstore_i(INTERP);
+__code cbc_barrierfull(INTERP);
+__code cbc_coveragecontrol(INTERP);
+__code cbc_nativeinvoke_v(INTERP);
+__code cbc_nativeinvoke_i(INTERP);
+__code cbc_nativeinvoke_n(INTERP);
+__code cbc_nativeinvoke_s(INTERP);
+__code cbc_nativeinvoke_o(INTERP);
+__code cbc_getarg_i(INTERP);
+__code cbc_getarg_n(INTERP);
+__code cbc_getarg_s(INTERP);
+__code cbc_getarg_o(INTERP);
+__code cbc_coerce_II(INTERP);
+__code cbc_encoderepconf(INTERP);
+__code cbc_encodeconf(INTERP);
+__code cbc_decodeconf(INTERP);
+__code cbc_decoderepconf(INTERP);
+__code cbc_getppid(INTERP);
+__code cbc_getsignals(INTERP);
+__code cbc_sp_guard(INTERP);
+__code cbc_sp_guardconc(INTERP);
+__code cbc_sp_guardtype(INTERP);
+__code cbc_sp_guardsf(INTERP);
+__code cbc_sp_guardsfouter(INTERP);
+__code cbc_sp_rebless(INTERP);
+__code cbc_sp_resolvecode(INTERP);
+__code cbc_sp_decont(INTERP);
+__code cbc_sp_getlex_o(INTERP);
+__code cbc_sp_getlex_ins(INTERP);
+__code cbc_sp_getlex_no(INTERP);
+__code cbc_sp_getarg_o(INTERP);
+__code cbc_sp_getarg_i(INTERP);
+__code cbc_sp_getarg_n(INTERP);
+__code cbc_sp_getarg_s(INTERP);
+__code cbc_sp_fastinvoke_v(INTERP);
+__code cbc_sp_fastinvoke_i(INTERP);
+__code cbc_sp_fastinvoke_n(INTERP);
+__code cbc_sp_fastinvoke_s(INTERP);
+__code cbc_sp_fastinvoke_o(INTERP);
+__code cbc_sp_paramnamesused(INTERP);
+__code cbc_sp_getspeshslot(INTERP);
+__code cbc_sp_findmeth(INTERP);
+__code cbc_sp_fastcreate(INTERP);
+__code cbc_sp_get_o(INTERP);
+__code cbc_sp_get_i64(INTERP);
+__code cbc_sp_get_i32(INTERP);
+__code cbc_sp_get_i16(INTERP);
+__code cbc_sp_get_i8(INTERP);
+__code cbc_sp_get_n(INTERP);
+__code cbc_sp_get_s(INTERP);
+__code cbc_sp_bind_o(INTERP);
+__code cbc_sp_bind_i64(INTERP);
+__code cbc_sp_bind_i32(INTERP);
+__code cbc_sp_bind_i16(INTERP);
+__code cbc_sp_bind_i8(INTERP);
+__code cbc_sp_bind_n(INTERP);
+__code cbc_sp_bind_s(INTERP);
+__code cbc_sp_p6oget_o(INTERP);
+__code cbc_sp_p6ogetvt_o(INTERP);
+__code cbc_sp_p6ogetvc_o(INTERP);
+__code cbc_sp_p6oget_i(INTERP);
+__code cbc_sp_p6oget_n(INTERP);
+__code cbc_sp_p6oget_s(INTERP);
+__code cbc_sp_p6obind_o(INTERP);
+__code cbc_sp_p6obind_i(INTERP);
+__code cbc_sp_p6obind_n(INTERP);
+__code cbc_sp_p6obind_s(INTERP);
+__code cbc_sp_deref_get_i64(INTERP);
+__code cbc_sp_deref_get_n(INTERP);
+__code cbc_sp_deref_bind_i64(INTERP);
+__code cbc_sp_deref_bind_n(INTERP);
+__code cbc_sp_getlexvia_o(INTERP);
+__code cbc_sp_getlexvia_ins(INTERP);
+__code cbc_sp_getstringfrom(INTERP);
+__code cbc_sp_getwvalfrom(INTERP);
+__code cbc_sp_jit_enter(INTERP);
+__code cbc_sp_boolify_iter(INTERP);
+__code cbc_sp_boolify_iter_arr(INTERP);
+__code cbc_sp_boolify_iter_hash(INTERP);
+__code cbc_sp_cas_o(INTERP);
+__code cbc_sp_atomicload_o(INTERP);
+__code cbc_sp_atomicstore_o(INTERP);
+__code cbc_prof_enter(INTERP);
+__code cbc_prof_enterspesh(INTERP);
+__code cbc_prof_enterinline(INTERP);
+__code cbc_prof_enternative(INTERP);
+__code cbc_prof_exit(INTERP);
+__code cbc_prof_allocated(INTERP);
+__code cbc_ctw_check(INTERP);
+__code cbc_coverage_log(INTERP);
+__code cbc_breakpoint(INTERP);
+
+ __code (* CODES[])(INTERP) = {
    cbc_no_op,
    cbc_const_i8,
    cbc_const_i16,