/* Generated by gen-stubs.c from signature file sigs (profiling off) */

#include "jam.h"

#ifdef USE_MD_STUBS
#include "stubs.h"
#include "properties.h"
#include "jni-internal.h"

extern void *jni_env;

/* Static signatures */

/* ()I */
static uintptr_t *static__I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*))mb->code) (
	&jni_env,
	class);

    return ostack + 1;
}

/* ()J */
static uintptr_t *static__J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*))mb->code) (
	&jni_env,
	class);

    return ostack + 2;
}

/* ()L */
static uintptr_t *static__L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*))mb->code) (
	&jni_env,
	class));

    return ostack + 1;
}

/* ()V */
static uintptr_t *static__V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*))mb->code) (
	&jni_env,
	class);

    return ostack + 0;
}

/* (I)B */
static uintptr_t *static_I_B(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(int8_t (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(uintptr_t *)&ostack[0]);

    return ostack + 1;
}

/* (I)F */
static uintptr_t *static_I_F(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *((float*)ostack + IS_BE64) = (*(float (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(uintptr_t *)&ostack[0]);

    return ostack + 1;
}

/* (I)I */
static uintptr_t *static_I_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(uintptr_t *)&ostack[0]);

    return ostack + 1;
}

/* (I)L */
static uintptr_t *static_I_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(uintptr_t *)&ostack[0]));

    return ostack + 1;
}

/* (J)D */
static uintptr_t *static_J_D(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(double*)ostack = (*(double (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0]);

    return ostack + 2;
}

/* (J)I */
static uintptr_t *static_J_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0]);

    return ostack + 1;
}

/* (J)J */
static uintptr_t *static_J_J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0]);

    return ostack + 2;
}

/* (J)L */
static uintptr_t *static_J_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0]));

    return ostack + 1;
}

/* (J)V */
static uintptr_t *static_J_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0]);

    return ostack + 0;
}

/* (JI)I */
static uintptr_t *static_JI_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(uintptr_t *)&ostack[2]);

    return ostack + 1;
}

/* (JI)J */
static uintptr_t *static_JI_J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(uintptr_t *)&ostack[2]);

    return ostack + 2;
}

/* (JI)L */
static uintptr_t *static_JI_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(uintptr_t *)&ostack[2]));

    return ostack + 1;
}

/* (JI)V */
static uintptr_t *static_JI_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(uintptr_t *)&ostack[2]);

    return ostack + 0;
}

/* (JJ)B */
static uintptr_t *static_JJ_B(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(int8_t (*)(void*, void*, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2]);

    return ostack + 1;
}

/* (JJ)D */
static uintptr_t *static_JJ_D(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(double*)ostack = (*(double (*)(void*, void*, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2]);

    return ostack + 2;
}

/* (JJ)I */
static uintptr_t *static_JJ_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2]);

    return ostack + 1;
}

/* (JJ)J */
static uintptr_t *static_JJ_J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2]);

    return ostack + 2;
}

/* (JJ)L */
static uintptr_t *static_JJ_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2]));

    return ostack + 1;
}

/* (JJ)V */
static uintptr_t *static_JJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2]);

    return ostack + 0;
}

/* (JJI)L */
static uintptr_t *static_JJI_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(uintptr_t *)&ostack[4]));

    return ostack + 1;
}

/* (JJI)V */
static uintptr_t *static_JJI_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(uintptr_t *)&ostack[4]);

    return ostack + 0;
}

/* (JJJI)V */
static uintptr_t *static_JJJI_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(int64_t *)&ostack[4],
	*(uintptr_t *)&ostack[6]);

    return ostack + 0;
}

/* (JJJJ)V */
static uintptr_t *static_JJJJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(int64_t *)&ostack[4],
	*(int64_t *)&ostack[6]);

    return ostack + 0;
}

/* (JJJJI)I */
static uintptr_t *static_JJJJI_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t, int64_t, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(int64_t *)&ostack[4],
	*(int64_t *)&ostack[6],
	*(uintptr_t *)&ostack[8]);

    return ostack + 1;
}

/* (JJJJJJ)V */
static uintptr_t *static_JJJJJJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(int64_t *)&ostack[4],
	*(int64_t *)&ostack[6],
	*(int64_t *)&ostack[8],
	*(int64_t *)&ostack[10]);

    return ostack + 0;
}

/* (JJJJJJJJJI)V */
static uintptr_t *static_JJJJJJJJJI_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(int64_t *)&ostack[4],
	*(int64_t *)&ostack[6],
	*(int64_t *)&ostack[8],
	*(int64_t *)&ostack[10],
	*(int64_t *)&ostack[12],
	*(int64_t *)&ostack[14],
	*(int64_t *)&ostack[16],
	*(uintptr_t *)&ostack[18]);

    return ostack + 0;
}

/* (JJJJJJJJJJJJ)I */
static uintptr_t *static_JJJJJJJJJJJJ_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	class,
	*(int64_t *)&ostack[0],
	*(int64_t *)&ostack[2],
	*(int64_t *)&ostack[4],
	*(int64_t *)&ostack[6],
	*(int64_t *)&ostack[8],
	*(int64_t *)&ostack[10],
	*(int64_t *)&ostack[12],
	*(int64_t *)&ostack[14],
	*(int64_t *)&ostack[16],
	*(int64_t *)&ostack[18],
	*(int64_t *)&ostack[20],
	*(int64_t *)&ostack[22]);

    return ostack + 1;
}

/* Non-static signatures */

/* ()B */
static uintptr_t *__B(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(int8_t (*)(void*, void*))mb->code) (
	&jni_env,
	(void*)ostack[0]);

    return ostack + 1;
}

/* ()I */
static uintptr_t *__I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*))mb->code) (
	&jni_env,
	(void*)ostack[0]);

    return ostack + 1;
}

/* ()J */
static uintptr_t *__J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*))mb->code) (
	&jni_env,
	(void*)ostack[0]);

    return ostack + 2;
}

/* ()L */
static uintptr_t *__L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*))mb->code) (
	&jni_env,
	(void*)ostack[0]));

    return ostack + 1;
}

/* ()V */
static uintptr_t *__V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*))mb->code) (
	&jni_env,
	(void*)ostack[0]);

    return ostack + 0;
}

/* (I)B */
static uintptr_t *_I_B(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(int8_t (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(uintptr_t *)&ostack[1]);

    return ostack + 1;
}

/* (I)I */
static uintptr_t *_I_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(uintptr_t *)&ostack[1]);

    return ostack + 1;
}

/* (I)J */
static uintptr_t *_I_J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(uintptr_t *)&ostack[1]);

    return ostack + 2;
}

/* (I)L */
static uintptr_t *_I_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(uintptr_t *)&ostack[1]));

    return ostack + 1;
}

/* (I)V */
static uintptr_t *_I_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(uintptr_t *)&ostack[1]);

    return ostack + 0;
}

/* (J)B */
static uintptr_t *_J_B(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(int8_t (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1]);

    return ostack + 1;
}

/* (J)J */
static uintptr_t *_J_J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1]);

    return ostack + 2;
}

/* (J)L */
static uintptr_t *_J_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1]));

    return ostack + 1;
}

/* (J)V */
static uintptr_t *_J_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1]);

    return ostack + 0;
}

/* (JI)I */
static uintptr_t *_JI_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(uintptr_t *)&ostack[3]);

    return ostack + 1;
}

/* (JI)J */
static uintptr_t *_JI_J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*, int64_t, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(uintptr_t *)&ostack[3]);

    return ostack + 2;
}

/* (JI)V */
static uintptr_t *_JI_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(uintptr_t *)&ostack[3]);

    return ostack + 0;
}

/* (JJ)V */
static uintptr_t *_JJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3]);

    return ostack + 0;
}

/* (JJI)I */
static uintptr_t *_JJI_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(uintptr_t *)&ostack[5]);

    return ostack + 1;
}

/* (JJI)L */
static uintptr_t *_JJI_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(uintptr_t *)&ostack[5]));

    return ostack + 1;
}

/* (JJJ)I */
static uintptr_t *_JJJ_I(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (*(uintptr_t (*)(void*, void*, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5]);

    return ostack + 1;
}

/* (JJJ)J */
static uintptr_t *_JJJ_J(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *(int64_t*)ostack = (*(int64_t (*)(void*, void*, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5]);

    return ostack + 2;
}

/* (JJJ)L */
static uintptr_t *_JJJ_L(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    *ostack = (uintptr_t)REF_TO_OBJ((*(uintptr_t (*)(void*, void*, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5]));

    return ostack + 1;
}

/* (JJJ)V */
static uintptr_t *_JJJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5]);

    return ostack + 0;
}

/* (JJJJ)V */
static uintptr_t *_JJJJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5],
	*(int64_t *)&ostack[7]);

    return ostack + 0;
}

/* (JJJJJ)V */
static uintptr_t *_JJJJJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5],
	*(int64_t *)&ostack[7],
	*(int64_t *)&ostack[9]);

    return ostack + 0;
}

/* (JJJJJJI)V */
static uintptr_t *_JJJJJJI_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uintptr_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5],
	*(int64_t *)&ostack[7],
	*(int64_t *)&ostack[9],
	*(int64_t *)&ostack[11],
	*(uintptr_t *)&ostack[13]);

    return ostack + 0;
}

/* (JJJJJJJJJ)V */
static uintptr_t *_JJJJJJJJJ_V(Class *class, MethodBlock *mb, uintptr_t *ostack) {
    if(!initJNILrefs())
        return NULL;

    (*(void (*)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t))mb->code) (
	&jni_env,
	(void*)ostack[0],
	*(int64_t *)&ostack[1],
	*(int64_t *)&ostack[3],
	*(int64_t *)&ostack[5],
	*(int64_t *)&ostack[7],
	*(int64_t *)&ostack[9],
	*(int64_t *)&ostack[11],
	*(int64_t *)&ostack[13],
	*(int64_t *)&ostack[15],
	*(int64_t *)&ostack[17]);

    return ostack + 0;
}


JNIStub jni_static_stubs[] = {
    {"()I", static__I},
    {"()J", static__J},
    {"()L", static__L},
    {"()V", static__V},
    {"(I)B", static_I_B},
    {"(I)F", static_I_F},
    {"(I)I", static_I_I},
    {"(I)L", static_I_L},
    {"(J)D", static_J_D},
    {"(J)I", static_J_I},
    {"(J)J", static_J_J},
    {"(J)L", static_J_L},
    {"(J)V", static_J_V},
    {"(JI)I", static_JI_I},
    {"(JI)J", static_JI_J},
    {"(JI)L", static_JI_L},
    {"(JI)V", static_JI_V},
    {"(JJ)B", static_JJ_B},
    {"(JJ)D", static_JJ_D},
    {"(JJ)I", static_JJ_I},
    {"(JJ)J", static_JJ_J},
    {"(JJ)L", static_JJ_L},
    {"(JJ)V", static_JJ_V},
    {"(JJI)L", static_JJI_L},
    {"(JJI)V", static_JJI_V},
    {"(JJJI)V", static_JJJI_V},
    {"(JJJJ)V", static_JJJJ_V},
    {"(JJJJI)I", static_JJJJI_I},
    {"(JJJJJJ)V", static_JJJJJJ_V},
    {"(JJJJJJJJJI)V", static_JJJJJJJJJI_V},
    {"(JJJJJJJJJJJJ)I", static_JJJJJJJJJJJJ_I},
    {NULL, NULL}
};

JNIStub jni_stubs[] = {
    {"()B", __B},
    {"()I", __I},
    {"()J", __J},
    {"()L", __L},
    {"()V", __V},
    {"(I)B", _I_B},
    {"(I)I", _I_I},
    {"(I)J", _I_J},
    {"(I)L", _I_L},
    {"(I)V", _I_V},
    {"(J)B", _J_B},
    {"(J)J", _J_J},
    {"(J)L", _J_L},
    {"(J)V", _J_V},
    {"(JI)I", _JI_I},
    {"(JI)J", _JI_J},
    {"(JI)V", _JI_V},
    {"(JJ)V", _JJ_V},
    {"(JJI)I", _JJI_I},
    {"(JJI)L", _JJI_L},
    {"(JJJ)I", _JJJ_I},
    {"(JJJ)J", _JJJ_J},
    {"(JJJ)L", _JJJ_L},
    {"(JJJ)V", _JJJ_V},
    {"(JJJJ)V", _JJJJ_V},
    {"(JJJJJ)V", _JJJJJ_V},
    {"(JJJJJJI)V", _JJJJJJI_V},
    {"(JJJJJJJJJ)V", _JJJJJJJJJ_V},
    {NULL, NULL}
};
#endif
