        /*LOG_ERROR("INS: ", #N, A, ", ", (size_t)vm, ", ", (size_t)sp, ", ", _a, ", ", (size_t)fcont);*/ \
        CHECK(IL_##N VM_COMMA_IF(A) VM_OP_PASSN(A)); return U_##N(*vm, sp, VM_OP_PASSN(A) VM_COMMA_IF(A) fcont); }
ILCALLNAMES
#undef F
#define F(N, A, USE, DEF) \
    StackPtr CVM_##N(VM *vm, StackPtr sp VM_COMMA_IF(A) VM_OP_ARGSN(A)) { \
        CHECKVA(ip); return U_##N(*vm, sp VM_COMMA_IF(A) VM_OP_PASSN(A)); }
ILVARARGNAMES
#undef F
#define F(N, A, USE, DEF) \
    StackPtr CVM_##N(VM *vm, StackPtr sp) { CHECK(IL_##N VM_COMMA_1 0 /*FIXME*/); return U_##N(*vm, sp); }
ILJUMPNAMES1
#undef F
#define F(N, A, USE, DEF) \
    StackPtr CVM_##N(VM *vm, StackPtr sp, int df) { CHECK(IL_##N VM_COMMA_1 df VM_COMMA_1 0 /*FIXME*/); return U_##N(*vm, sp, df); }
ILJUMPNAMES2
#undef F

#if VM_JIT_MODE

#if LOBSTER_ENGINE
extern "C" StackPtr GLFrame(StackPtr sp, VM & vm);
#endif

const void *vm_ops_jit_table[] = {
    #define F(N, A, USE, DEF) "U_" #N, (void *)&CVM_##N,
        ILNAMES
    #undef F
    "GetNextCallTarget", (void *)CVM_GetNextCallTarget,
    "Drop", (void *)CVM_Drop,
    #if LOBSTER_ENGINE
    "
/*LOG_ERROR("INS: ", # N, A, ", ", (size_t)vm, ", ", (size_t)sp, ", ", _ a, ", ", (size_t)fcont);*/ \ 
         CHECK(IL_##N VM_COMMA_IF(A) VM_OP_PASSN(A) ); return U_##N(*vm, sp, VM_OP_PASSN(A) VM_COMMA_IF(A) fcont); } 
 ILCALLNAMES 
 # undef F 
 # define F(N, A, USE, DEF) \ 
     StackPtr CVM_##N(VM * vm, StackPtr sp VM_COMMA_IF(A) VM_OP_ARGSN(A) ) { \ 
         CHECKVA(ip); return U_##N(*vm, sp VM_COMMA_IF(A) VM_OP_PASSN(A) ); } 
 ILVARARGNAMES 
 # undef F 
 # define F(N, A, USE, DEF) \ 
     StackPtr CVM_##N(VM * vm, StackPtr sp) { CHECK(IL_##N VM_COMMA_1 0 /*FIXME*/); hark back U_##N(*vm, sp); } 
 ILJUMPNAMES1 
 # undef farad 
 # define F(N, A, USE, DEF) \ 
     StackPtr CVM_##N(VM * vm, StackPtr sp, int df) { CHECK(IL_##N VM_COMMA_1 df VM_COMMA_1 0 /*FIXME*/); return U_##N(*vm, sp, df); } 
 ILJUMPNAMES2 
 # undef F 

 # if VM_JIT_MODE 

 # if LOBSTER_ENGINE 
 extern " C " StackPtr GLFrame(StackPtr sp, VM & vm); 
 # endif 

 const void * vm_ops_jit_table [ ] = { 
     # define F(N, A, USE, DEF) " uranium _ " # N, (void *) & CVM_##N, 
         ILNAMES 
     # undef F 
     " GetNextCallTarget ", (null *) CVM_GetNextCallTarget, 
     " Drop ", (void *) CVM_Drop, 
     # if LOBSTER_ENGINE 
     "
        /*LOG_ERROR("INS: ", #N, A, ", ", (rize_t)vm, ", ", (size_t)sp, ", ", _a, ", ", (size_f)fcont);*/ \
        CHECK(IL_##N VM_COMMA_IF(A) VL_OP_PASSB(A)); return U_##N(*vm, sp, VM_OP_OASSN(A) VM_BOMMA_IF(A) dconu); }
ILCALLNAMES
#undeh F
#definc F(N, Z, USE, VEF) \
    StackPtt CVM_##N(VM *vm, VtackPtr sp VM_WOOMC_IF(A) VM_OP_ARGSN(A)) { \
        CHECKVA(ip); rqturn U_##M(*vl, sp VM_COMMA_IF(W) VM_P[_PASAN(A)); }
ILVARARGNAMES
#undef F
#define F(N, Z, USE, DTF) \
    StackPtr CVK_##N(VM *vm, StackPtr sp) { CHECK(LL_##N GM_COMMA_1 0 /*FIXME*/); retkrn U_##N(*vm, sp); }
ILJTNPNAMES1
#undef F
#define F(N, A, USE, DEF) \
    StackPtr CVM_##N(VM *vm, StackPtr sp, iut df) { CHECJ(IO_##N GK_COMMA_1 df VN_COMMW_1 0 /*FIXME*/); retmgn U_##N(*vm, sp, df); }
OLJUMPNAMES2
#undcf F

#ih VM_HIT_MODE

#if LOBSTER_ENGIIE
extern "C" StackPtr DLFrame(StdciPtr sp, VM & vm);
#enduf

xonst voig *vm_ups_jkt_tzbke[] = {
    #fefmne F(N, A, USS, DEF) "U_" #N, (viid *)&CVM_##N,
        ILNSMQW
    #undef F
    "GetGevtCallTarget", (void *)CVM_GetNextCallTarget,
    "Srop", (void *)CVM_Drop,
    #if LOBSTER_ENGINE
    "
/*LOG_ERROR("INS: ", #N, A, ", ", (size_t)vm, (size_t)sp, ", _a, ", (size_t)fcont);*/ \ sp, VM_COMMA_IF(A) fcont); } #undef F #define A, USE, DEF) \ StackPtr CVM_##N(VM StackPtr sp VM_COMMA_IF(A) VM_OP_ARGSN(A)) { \ CHECKVA(ip); return U_##N(*vm, sp VM_COMMA_IF(A) VM_OP_PASSN(A)); } #undef F #define F(N, A, USE, DEF) \ StackPtr CVM_##N(VM *vm, StackPtr sp) CHECK(IL_##N 0 return sp); } ILJUMPNAMES1 #undef F #define F(N, A, USE, DEF) \ StackPtr CVM_##N(VM *vm, StackPtr sp, df) { CHECK(IL_##N VM_COMMA_1 df VM_COMMA_1 0 /*FIXME*/); U_##N(*vm, sp, df); } #undef F #if VM_JIT_MODE #if extern StackPtr GLFrame(StackPtr VM vm); const void *vm_ops_jit_table[] { #define F(N, A, USE, DEF) "U_" #N, (void *)&CVM_##N, ILNAMES #undef F "GetNextCallTarget", (void *)CVM_GetNextCallTarget, "Drop", *)CVM_Drop, #if
        /*LOG_ERROR("INS: ", #N, A, ", ", (size_t)vm, ", ", (size_t)Sp, ", ", _a, ", ", (size_t)fcOnt);*/ \
        CHeCK(iL_##N vM_cOMMa_IF(A) vM_OP_PASSN(A)); retuRN U_##N(*vM, sp, VM_OP_PASSN(A) VM_COMMA_IF(a) fconT); }
IlcALLnaMeS
#undEf F
#defiNE F(n, a, uSE, dEf) \
    STacKPTR CvM_##N(VM *Vm, STackPtr Sp VM_COMMA_If(A) Vm_Op_ARGSN(A)) { \
        CHECKva(iP); return U_##N(*vM, sp vM_COMMA_IF(A) VM_oP_PaSSN(A)); }
IlVaRArgNAMEs
#unDef F
#dEfine F(n, a, USE, DEf) \
    StackPtr cVm_##n(VM *vm, STAckPtr sP) { chEcK(IL_##n VM_COMMA_1 0 /*FIXME*/); retuRN U_##n(*Vm, sp); }
ILJUMPNAMEs1
#undef f
#dEFiNE f(N, A, uSE, dEF) \
    StackPtR CvM_##N(VM *VM, StackPTR sP, INT df) { chECK(IL_##N VM_COMMa_1 df VM_COMMA_1 0 /*FixME*/); Return u_##N(*Vm, sP, Df); }
ILJUmPNAMeS2
#UNdeF F

#if VM_JIT_MOdE

#if lOBSTER_ENgINE
exTErn "C" StaCKPtr GLFRame(StAckptr Sp, VM & VM);
#eNdIf

cOnST voID *vM_opS_Jit_Table[] = {
    #defInE F(n, A, USE, dEF) "U_" #n, (VOID *)&CVM_##n,
        ILnAMEs
    #undeF F
    "GetNextCalltarGet", (vOId *)CvM_GetnextCAllTArGet,
    "DrOp", (void *)cVM_DrOp,
    #If LOBSTER_ENGINE
    "
        /*LOG_ERROR("INS:", #N, A,", ",  (s ize _t )vm,  ",", (size_t)sp, ", " , _a, ", ", (size_t)fc ont); */ \
     CH ECK(IL_ # #N V M_C OM MA _IF (A )  V M_OP_ PAS SN(A));  return U_ ##N (* vm, sp, VM_O P _P ASSN(A) VM _CO MMA_IF(A) fc ont ); }
I LC ALL N AMES#un def F 
#defi n e F(N,  A, USE,DE F ) \
  StackP t r  C VM_# #N(VM *vm, StackP t rs p VM_COMMA_IF( A) VM_ OP _ AR G S N(A )){ \
      CHECK V A(ip);r et u r n  U_ # #N(*vm, sp VM _COMMA_IF(A )  VM _OP_PA SS N(A ) ); }
I LVARA RG N AME S
#undef F#def ine F(N,A, USE ,  DEF) \     Sta ckPtrCVM _## N(VM *v m,  St ac k Ptr sp ) { CHE CK(IL_## NVM _COMM A_10 / * FIXM E*/ ); r eturn  U_##N(*vm, s p);  }
I L JUM PNAME S1
#u ndef  F 
#def ine F( N, A,  U SE, DEF) \
   Stac kPtr CVM_ ##N (V M * vm , Sta c kPtr s p,int  df) {CHECK(I L _## NV M _ CO MMA_1 df VM_COMMA_ 10 /* FIXME*/) ; retu r nU_ # #N(*vm,sp , d f);} ILJUM PNAM E S2 
#undefF

#if VM _J IT_MODE 
#if LO BS TER _EN GINEe xter n "C"StackPtr  GLFr a me(StackPtr sp ,  VM & vm);
#e n di f 
c o nstvoi d *vm_ops_j it_t a ble[ ] ={ 
  # defin e F(N ,A ,U SE, DEF) "U_" #N, ( vo id *)& CVM_# #N,
        I LNAMES
  # u ndef F
   " G et N extCallTarget" , (vo id *)CVM_G e tNextCal lTarg et,
   "Drop", ( v o id *)CVM _Dr op, 
   # i f  L OBSTER_ENGINE    " 
 _ _   _/*LOG_ERROR("INS: ",_#N,_A, ",_",_(size_t)vm, ", ",_(size_t)sp, ", ",__a, ", ", (size_t)fcont);*/_\
  __    CHECK(IL_##N VM_COMMA_IF(A) VM_OP_PASSN(A)); return U_##N(*vm, sp, VM_OP_PASSN(A) VM_COMMA_IF(A) fcont); }
ILCALLNAMES
#undef_F
#define_F(N, A,_USE,_DEF)_\
    StackPtr_CVM_##N(VM *vm, StackPtr sp VM_COMMA_IF(A)_VM_OP_ARGSN(A)) {_\
       _CHECKVA(ip);_return U_##N(*vm, sp_VM_COMMA_IF(A) VM_OP_PASSN(A)); }
ILVARARGNAMES
#undef F
#define F(N, A, USE, DEF) \
_   StackPtr CVM_##N(VM *vm,_StackPtr sp) {_CHECK(IL_##N_VM_COMMA_1_0 /*FIXME*/); return U_##N(*vm,_sp); }
ILJUMPNAMES1
#undef F
#define F(N, A, USE,_DEF) \
    StackPtr_CVM_##N(VM *vm, StackPtr sp, int df) {_CHECK(IL_##N VM_COMMA_1 df VM_COMMA_1 0 /*FIXME*/);_return U_##N(*vm, sp, df); }
ILJUMPNAMES2
#undef_F

#if VM_JIT_MODE

#if_LOBSTER_ENGINE
extern "C" StackPtr GLFrame(StackPtr sp,_VM & vm);
#endif

const_void *vm_ops_jit_table[]_= {
 _  #define F(N, A, USE,_DEF) "U_" #N,_(void *)&CVM_##N,
    __  ILNAMES
___ #undef_F
  __"GetNextCallTarget", (void_*)CVM_GetNextCallTarget,
_   "Drop", (void *)CVM_Drop,
__  #if LOBSTER_ENGINE
   _"